Мне нужно вывести информацию о тегах статьи (это отношение «многие ко многим» и все готово) и о категории статьи (это отношение «один ко многим»), но у меня есть некоторые проблемы с этим. Короче говоря, я не могу использовать более 2 Включить <> вот так (NullReferenceException: ссылка на объект не установлена на экземпляр объекта):
Article article = await db.Articles.Include(ar=>ar.CategoryId).Include(a => a.ArticlesTags).ThenInclude(at => at.Tag).FirstOrDefaultAsync(i => i.Id == id);
Но это работает правильно, но не выводит категорию:
Article article = await db.Articles.Include(a => a.ArticlesTags).ThenInclude(at => at.Tag).FirstOrDefaultAsync(i => i.Id == id);
Это мои занятия:
public class Article
{
public int Id {get; set; }
public string Name { get; set; }
public string ShortDescription { get; set; }
public string Description { get; set; }
public byte[] HeroImage { get; set; }
public DateTime Date { get; set; }
public int? CategoryId { get; set; } //implementing one to many relationship with category
public Category Category { get; set; }
public virtual List<ArticleTag> ArticlesTags { get; set; } //implementing many to many relationship with tags
public Article()
{
ArticlesTags = new List<ArticleTag>();
}
}
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Article> Articles { get; set; }
public Category()
{
Articles = new List<Article>();
}
}
Как я могу использовать эти методы для вывода тегов и категории?