繁体   English   中英

在Entity Framework Core中加载多个级别的相关数据无法正常工作

[英]Loading multiple levels of related data in Entity Framework Core not working as expected

我想热切地加载一些与Article对象相关的数据。

return await context.Articles
    .Include(x => x.ArticleTags)
        .ThenInclude(x => x.Tag)
            // .ThenInclude(x => x.Value)
    .Include(x => x.Author)
        .ThenInclude(x => x.UserInfo)
    .Include(x => x.Approver)
        .ThenInclude(x => x.UserInfo)
    .Include(x => x.Rejecter)
        .ThenInclude(x => x.UserInfo)
    .Include(x => x.LinkSubmitter)
        .ThenInclude(x => x.UserInfo)
    .FirstOrDefaultAsync(x => x.Id == id);

在本文对象中,所有显示的属性可以为null或为空。 eg no tags, no author, no approver .. etc.

该查询按原样工作(带有注释行)。

但是,如果我包括嵌套的ThenInclude() ,它将失败并显示错误:

System.ArgumentNullException:值不能为null。 参数名称:来源

我相信这样做的原因是因为该文章没有标签,并且正在努力加载不存在的标签的值。 我如何急切地加载商品可能存在或可能不存在的所有标签数据?

尝试.Include(x => x.ArticleTags.Tag?.Value)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM