Solução de problemas ADO.NET Entity Framework e 1: Relações *
-
03-07-2019 - |
Pergunta
Estou tentando realizar uma simples tarefa de criar um banco de dados com 2 mesas com um 1:. Relação *
Em uma tabela (Foos) Tenho
Id
...
...
Nos outros (Bars) eu tenho
Id
FooId
...
...
...
Eu criei uma chave de Relação Exteriores de bares para Foos com a tabela Key Foriegn sendo Bares apontando para a coluna FooId, ea tabela de chave primária a ser Foos apontando para a coluna Id.
Então eu criei o meu modelo de dados ADO.NET Entity e corretamente pegou as tabelas Foos e bares e o relacionamento e cria as propriedades de navegação.
Agora, a partir dentro do meu aplicativo MVC I tentar obter um Foo como esta:
var foo = (from f in _db.Foos where f.Id == id select f).FirstOrDefault();
Então eu tento acessar a propriedade Barras do objeto foo e não obter nenhum resultado. No entanto, se eu inspecionar os _db.Bars definir vejo as barras com o conjunto FooId para a identificação correta.
O que devo fazer para solucionar problemas por que o relacionamento não está funcionando? Eu olhei muitos tutoriais e a documentação no MSDN para relações de tabela, mas nada é obviamente errado.
Eu estou tentando usar isso em uma aplicação ASP.NET MVC no caso em que é relevante.
Solução
usar um incluem na mesa de Foos
var foo = (a partir de f em _db.Foos.Include ( "barras"), onde f.Id == SELECT id f) .FirstOrDefault ();