Trong môi trường .NET 4 và đa lõi, đối tượng datacontext sqq có tận dụng lợi thế của các giá trị song song mới nếu chúng ta sử dụng DataLoadOptions.LoadWith không?LinqToSql - Song song - DataContext và song song
EDIT
Tôi biết LINQ to SQL không parallelize truy vấn thông thường. Những gì tôi muốn biết là khi chúng tôi chỉ định DataLoadOption.LoadWith, nó có sử dụng song song để thực hiện khớp giữa mỗi thực thể và các thực thể con của nó không?
Ví dụ:
using(MyDataContext context = new MyDataContext())
{
DataLaodOptions options =new DataLoadOptions();
options.LoadWith<Product>(p=>p.Category);
return this.DataContext.Products.Where(p=>p.SomeCondition);
}
tạo ra sql sau:
Select Id,Name from Categories
Select Id,Name, CategoryId from Products where p.SomeCondition
khi tất cả các sản phẩm được tạo ra, chúng ta sẽ có một
categories.ToArray();
Parallel.Foreach(products, p =>
{
p.Category == categories.FirstOrDefault(c => c.Id == p.CategoryId);
});
hoặc
categories.ToArray();
foreach(Product product in products)
{
product.Category = categories.FirstOrDefault(c => c.Id == product.CategoryId);
}
?
Đừng quên gắn cờ câu trả lời yêu thích của bạn ;-) – Steven
@Steven: Tôi đã hy vọng câu trả lời cho chỉnh sửa của mình ... – Gregoire
Không có bất kỳ tối ưu hóa song song nào trong L2S. Xem cập nhật của tôi. – Steven