如何使用2 .include <>方法来关联3个表

我需要输出有关商品标签的信息(这是一个多对多关系,并且已经完成)和有关商品类别的信息(这是一个多对多关系),但是我有一些问题。简而言之,我不能使用超过2个这样的Include (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>();
    }
}

如何使用这些方法输出标签和类别?

aucmaktq 回答:如何使用2 .include <>方法来关联3个表

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157230.html

大家都在问