J'ai la commande suivante:Entity Framework - charge les données de la table avec la table 1: 1 impliquée en utilisant une requête?
var query = from x in context.FirstTable.Include("SecondTable")
where x.TestColumn == 5 &&
x.SecondTable.SecondTestColumn == 3
select x;
Maintenant, je veux aussi charger les entrées d'une troisième table nommée « ThirdTable ». Mais je ne peux que le référencer via la table SecondTable. Il existe une clé étrangère de FirstTable à SecondTable et une de SecondTable à ThirdTable, mais aucune de FirstTable à ThirdTable.
en utilisant la requête suivante n'était pas possible. L'exception est qu'il ne peut pas naviguer de FirstTable à ThirdTable:
var query = from x in context.FirstTable.Include("SecondTable").Include("ThirdTable")
where x.TestColumn == 5 &&
x.SecondTable.SecondTestColumn == 3
select x;
Ou je dois faire une requête supplémentaire sur ThirdTable pour chaque resultset je reviens de cette requête?
Merci beaucoup d'avance!
Craig Stuntz:
je les clés étrangères suivantes: table1 < -> table2 < -> table3
disons que les tableaux sont de la façon suivante: les commandes < -> clients < -> customer_preferences
Je n'ai donc pas besoin de faire une clé étrangère des commandes aux préférences client.
Ce serait inutile la plupart du temps. Juste cette fois, je veux sécuriser certains tours de la base de données supplémentaires.
Avez-vous une * très bonne raison * de n'avoir aucun FK à chaque extrémité? –
J'ai des clés étrangères, mais les FK de Table1 à Table3 sont à mon avis inutiles. S'il vous plaît voir mon post mis à jour. ou pensez-vous que je devrais ajouter le customer_preference_id dans la table des commandes? – Chris
OK, on dirait que vous avez les FK dont vous avez besoin, alors. Je vais répondre ci-dessous. –