Question

J'essaie d'accomplir une tâche simple consistant à créer une base de données avec 2 tables avec une relation 1: *.

Dans une table (Foos), j'ai

Id
...
...

Dans l'autre (barres) j'ai

Id
FooId
...
...
...

J'ai créé une relation de clé étrangère entre Bars et Foos, la table de clés étrangère étant des barres pointant vers la colonne FooId et la table de clé primaire étant Foos pointant vers la colonne Id.

J'ai ensuite créé mon modèle de données ADO.NET Entity. Il a correctement saisi les tables Foos et Bars, ainsi que la relation et créé les propriétés de navigation.

Maintenant, dans mon application MVC, j'essaie d'obtenir un Foo comme celui-ci:

var foo = (from f in _db.Foos where f.Id == id select f).FirstOrDefault();

Ensuite, j'essaie d'accéder à la propriété Bars de l'objet foo sans obtenir de résultat. Cependant, si j’examine le jeu de barres _db.Bars, je vois les barres avec le fooId défini sur le bon identifiant.

Que dois-je faire pour dépanner pourquoi la relation ne fonctionne pas? J'ai consulté de nombreux tutoriels et la documentation de MSDN pour les relations entre tables, mais rien n’est manifestement faux.

J'essaie de l'utiliser dans une application ASP.NET MVC au cas où cela serait pertinent.

Était-ce utile?

La solution

utiliser une inclusion sur la table Foos

var foo = (à partir de f dans _db.Foos.Include ("Bars") où f.Id == id sélectionnez f) .FirstOrDefault ();

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top