Dans l'environnement .NET 4 et multicœur, l'objet linq to sql datacontext utilise-t-il les nouveaux parallèles si nous utilisons DataLoadOptions.LoadWith?LinqToSql - Parallèle - DataContext et Parallèle
EDIT
Je sais LINQ to SQL ne paralléliser pas les requêtes ordinaires. Ce que je veux savoir, c'est quand nous spécifions DataLoadOption.LoadWith, utilise-t-il la parallélisation pour effectuer la correspondance entre chaque entité et ses sous-entités?
Exemple:
using(MyDataContext context = new MyDataContext())
{
DataLaodOptions options =new DataLoadOptions();
options.LoadWith<Product>(p=>p.Category);
return this.DataContext.Products.Where(p=>p.SomeCondition);
}
génère l'instruction SQL suivante:
Select Id,Name from Categories
Select Id,Name, CategoryId from Products where p.SomeCondition
lorsque tous les produits sont créés, aurons-nous un
categories.ToArray();
Parallel.Foreach(products, p =>
{
p.Category == categories.FirstOrDefault(c => c.Id == p.CategoryId);
});
ou
categories.ToArray();
foreach(Product product in products)
{
product.Category = categories.FirstOrDefault(c => c.Id == product.CategoryId);
}
?
N'oubliez pas de signaler votre réponse préférée ;-) – Steven
@Steven: J'espérais des réponses à mon edit ... – Gregoire
Il n'y a pas d'optimisation parallèle quoi que ce soit à l'intérieur de L2S. Voir ma mise à jour – Steven