Запрос Entity Framework: доступ к данным внешнего ключа (навигации) из записи - PullRequest
0 голосов
/ 16 сентября 2009

Я новичок в EF, и у меня есть две таблицы: первая называется ContestEntry и вторая Предметы, которая имеет отношение один ко многим с ContestEntry. Я пытаюсь получить доступ к конкурсным работам, а затем получить соответствующую информацию об элементе. Вот код, который я использую.

ContestEntry cEntry =
        Ctx.ContestEntries.Include("Item").Where(ce => ce.ID == 4).First();

Проблема в том, что отношение Item равно NULL, когда я смотрю на него в отладчике.

Я, наверное, что-то упустил, просто не уверен. Любая помощь будет оценена.

Спасибо!

1 Ответ

3 голосов
/ 16 сентября 2009

В своем вопросе вы упоминаете, что в таблице секунд указано "Items", но в запросе LINQ вы включаете "Item" - просто опечатка ??

Кроме того, другой способ загрузки ссылочной сущности был бы следующим:

ContestEntry cEntry =
    Ctx.ContestEntries.Include("Item").Where(ce => ce.ID == 4).First();

if(!cEntry.Items.IsLoaded)
{
   cEntry.Items.Load();
}

Если у вас есть навигационное свойство 1: n, вы сможете проверить, было ли оно загружено, а если нет, загружать его по требованию, когда оно вам нужно.

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...