В ASP.NET Core MVC 3.1 программа считает, что я подсовываю ей NULL и выдаёт исключение
Пытаюсь передать в метод получения всех товаров на воображаемом магазине книг название категории книги, получаемой из таблицы БД. В БД значение засовываю с помощью отдельной странице на сайте и с этим проблем нет. Далее сама проблема. NullReferenceException - вот, что я получаю, когда пытаюсь выполнить этот участок кода:
public async Task<List<BookModel>> GetAllBooks()
{
var books = new List<BookModel>();
var allbooks = await _context.Books.ToListAsync();
if (allbooks?.Any() == true)
{
foreach (var book in allbooks)
{
books.Add(new BookModel()
{
Author = book.Author,
Description = book.Description,
Id = book.Id,
LanguageId = book.LanguageId,
Title = book.Title,
TotalPages = book.TotalPages,
CategoryId = book.CategoryId,
Category = book.Category.Name
});
}
}
return books;
}
Когда прошёлся по коду отладчиком, обнаружил, что проблема заключается в том, что Category (Category = book.Category.Name) равно null, вследствие чего программа завершается немедленно. Но ведь я присваиваю Category значение book.Category.Name, что является НЕ пустым? (Проверил это в табличке БД).
Прошу знающих помочь мне с возникнувшей проблемой, если информации не хватает, готов добавить. Спасибо.