Модель данных сущности ado.net Родительские дочерние отношения - PullRequest
1 голос
/ 09 июня 2009

Сценарий Я играю в проект MVC NerdDinner и использую модель данных сущности ado.net вместо 'dbml'

У меня есть 2 таблицы базы данных Dinner & RSVP, где RSVP содержит DinnerID в качестве внешнего ключа от таблицы Dinner.

Теперь, когда я обращаюсь к определенной записи из таблицы Dinner, он возвращает объект ужин со свойством RSVP, но нет данных с этим свойством, несмотря на то, что таблица RSVP имеет данные с внешним ключом из таблицы Dinner

Данные

DinnerTable

ID: 1
Название: «.Net Architecture»

RSVPTable

ID: 1
ID обеда: 1
AttendeeName: 'Miral'

ID: 2
ID обеда: 1
AttendeeName: 'Shivani'

Таким образом, при получении данных Dinner, которые должны возвращать свои дочерние данные RSVP, я получаю свойство RSVP с 0 записями.

Ответы [ 2 ]

2 голосов
/ 09 июня 2009

EF немного отличается от LINQ. В своем запросе добавьте что-то вроде

var dinner = context.Dinners.First(d => d.DinnerID = id).Include("Attendees");

Это скажет EF присоединить связанные объекты Attendees за одну выборку, выполнив все необходимые объединения для вас.

1 голос
/ 10 июня 2009

Правильный синтаксис

Таблица: «Ужин» и «RSVP»

var ужин = _nerdDinnerEntities.Dinner.Include ("RSVP"). Где (dd => dd.ID == ID) .FirstOrDefault ();

Вы должны написать «Включить до FirstOrDefault».

«Включить» - это метод для сущности здесь «Ужин», и он включает имя таблицы, содержащей внешний ключ, то есть «RSVP», и свойство «AttendeeName».

Я попытался передать одно из свойств AttendeeName, но оно не сработало.

...