Устранение неполадок ADO.NET Entity Framework и отношений 1:*

StackOverflow https://stackoverflow.com/questions/807872

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь выполнить простую задачу по созданию базы данных с двумя таблицами со связью 1:*.

В одной таблице (Foos) у меня есть

Id
...
...

В другом (Барсе) у меня есть

Id
FooId
...
...
...

Я создал связь внешнего ключа от Bars до Foos, причем таблица внешних ключей представляет собой Bars, указывающую на столбец FooId, а таблица первичного ключа представляет собой Foos, указывающую на столбец Id.

Затем я создал свою модель данных ADO.NET Entity, и она правильно подобрала таблицы Foos и Bars, их связи и создала свойства навигации.

Теперь из моего приложения MVC я пытаюсь получить такой Foo:

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

Затем я пытаюсь получить доступ к свойству Bars объекта foo и не получаю никаких результатов.Однако, если я проверю набор _db.Bars, я увижу бары с FooId, установленным на правильный идентификатор.

Что мне следует сделать, чтобы устранить неполадки, почему отношения не работают?Я просмотрел множество руководств и документации в MSDN по связям между таблицами, но, очевидно, все в порядке.

Я пытаюсь использовать это в приложении ASP.NET MVC, если это актуально.

Это было полезно?

Решение

используйте включение в таблицу Foos

var foo = (из f в _db.Foos.Include("Bars") где f.Id == id select f).FirstOrDefault();

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top