EntityFramework - Как заполнить дочерние элементы?

1

Мне дана модель для работы, но я не могу понять запрос LINQ, чтобы получить то, что мне нужно, в свой объект.

Учитывая начальную дату, мне нужно получить все товары, отправленные для продажи с тех пор, данные о членах и имена файлов этих предметов. Также нужно иметь возможность передать в MemberID и найти, какие предметы у них есть для продажи (и имена файлов) Изображение 174551 Может кто-нибудь, пожалуйста, укажите мне, что будет для этого? Я слежу за несколькими учебниками EF, но у меня много проблем с этим.

Когда я пытаюсь это сделать, я получаю исключение с пустой ссылкой при разговоре с photoURL.

var items = db.BuySellLists.Include(b => b.Member)
                        .Include(b => b.BuySellPhoto)
                        .Where(b => b.PostedDate >= fromDate && b.IsBuyable == true)
                        .OrderBy(b => b.PostedDate)
                        .ToList();

В настоящее время я работаю, просматривая все предметы для продажи, а затем оттуда перебираю каждый BuySellListId, чтобы получить эти фотографии предметов, чтобы получить URL-адрес, но это вызывает немало индивидуальных запросов к базе данных и дает проблемы с производительностью.

Теги:
linq
entity-framework

1 ответ

1
Лучший ответ

Фотография не подразумевается в вашем запросе. Вот почему вы получаете исключение NullReferenceException. Вы должны включить его в явном виде следующим образом:

Include(b => b.BuySellPhoto.Photo)

Для получения дополнительной информации просмотрите документацию MSDN для расширения Include.

  • 0
    Фантастика! Спасибо! Оказывается, это была только одна часть головоломки. Дата публикации некоторых предметов была датирована в прошлом году, и на самом деле никто не вводил никаких данных фотографии ... Чувствую себя довольно глупо для этой части.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню