В 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, что является НЕ пустым? (Проверил это в табличке БД).

Прошу знающих помочь мне с возникнувшей проблемой, если информации не хватает, готов добавить. Спасибо.


Ответы (0 шт):