2010-11-23 12 views
2

Je la structure de tableau ci-dessous ....LINQ to SQL LoadWith Mutilple se joint à

  • Pilotes
  • Opérateurs
  • rangs

Pilotes/Opérations - il y a plusieurs pilotes à un opérateur.

Grades: 1) Capitaine 2) Le premier officier

Chaque opérateur définit alors ses propres critères de rang (heures requis, etc.). Donc, pour obtenir le nom réel du rang que j'ai besoin de rejoindre Pilots -> Opérateurs -> Ranks.

Je voudrais faire cela avec LoadWith par ex.

options.LoadWith<Pilot>(x => x.Operator); 

Comment maintenant le faire aussi charger les rangs? L'instruction ci-dessus provoque uniquement une jointure aux opérateurs.

Merci.

Répondre

3

Si vous voulez aller sur le chemin de chargement différé, que vous feriez la même chose pour vos Rangs:

options.LoadWith<Pilot>(x => x.Operator); 
options.LoadWith<Operators>(y=>y.Rank); 
yourDataContext.LoadOptions = options; 

Ensuite, vous pouvez aussi toujours faire la jonction avec LINQ, ainsi que les LoadOptions est connu pour produire des requêtes très inefficaces.