LinqToSql - Parallel - DataContext and Parallel

Posted by Gregoire on Stack Overflow See other posts from Stack Overflow or by Gregoire
Published on 2010-05-05T19:25:22Z Indexed on 2010/05/10 9:14 UTC
Read the original article Hit count: 953

In .NET 4 and multicore environment, does the linq to sql datacontext object take advantage of the new parallels if we use DataLoadOptions.LoadWith?

EDIT

I know linq to sql does not parallelize ordinary queries. What I want to know is when we specify DataLoadOption.LoadWith, does it use parallelization to perform the match between each entity and its sub entities?

Example:

using(MyDataContext context = new MyDataContext())
{
     DataLaodOptions options =new DataLoadOptions();
     options.LoadWith<Product>(p=>p.Category);
     return this.DataContext.Products.Where(p=>p.SomeCondition);
}

generates the following sql:

Select Id,Name from Categories
Select Id,Name, CategoryId from Products where p.SomeCondition

when all the products are created, will we have a

categories.ToArray();
Parallel.Foreach(products, p =>
{
    p.Category == categories.FirstOrDefault(c => c.Id == p.CategoryId);
});

or

categories.ToArray();
foreach(Product product in products)
{
    product.Category = categories.FirstOrDefault(c => c.Id == product.CategoryId);
}

?

© Stack Overflow or respective owner

Related posts about .net4

Related posts about linq-to-sql