2009-07-17 10 views
0

En SQL, j'inclurais probablement de la logique sur une simple jointure, mais comment le ferais-je efficacement dans LINQ to SQL? Imaginez que j'ai deux tables:La requête LINQ to SQL la plus efficace pour les objets et les enfants?

Parent

  • ID

enfant

  • ParentID
  • ID
  • Nom

Idéalement, je voudrais un graphique d'objets Parent avec une propriété "Childs" qui est en fait un dictionnaire < int, string >.

Suggestions?

Répondre

2
//set up dataloadoptions 

DataLoadOptions options = new DataLoadOptions(); 

options.LoadWith<Parent>(item => item.Child); 

context.LoadOptions = options; 

var children = context.Parent.First().Child; 
0

Quelque chose le long des lignes de celle-ci:

MyDataContext.Parents 
    .Select(p => 
     new { p.ID, 
      Childs = p.Children.ToDictionary(c => c.ID, c => c.Name) 
     } 
    ); 

Ce qui précède projettera un type anonyme avec deux propriétés: Un ID (étant le Parent) et un dictionnaire contenant l'ID de l'enfants et le nom.

Questions connexes