首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于嵌套列表属性,在ThenInclude()处忽略数据

对于嵌套列表属性,在ThenInclude()处忽略数据
EN

Stack Overflow用户
提问于 2021-03-31 11:28:30
回答 1查看 113关注 0票数 0

我有更多的特例,我不知道我的问题发生的原因是什么。

我有一个有嵌套类B的A类,它也有一个嵌套类C

代码语言:javascript
运行
复制
public class A
    {
        [Key]
        public int Id { get; set; }
        public int Name { get; set; }

        public List<B> Bs{ get; set; }
    }
代码语言:javascript
运行
复制
public class B
   {
        [Key]
        public int Id { get; set; }
        public int Name { get; set; }

        public List<C> Cs{ get; set; }

        [ForeignKey(nameof(A))]
        public int AId{ get; set; }
   }
代码语言:javascript
运行
复制
public class C
   {
        [Key]
        public int Id { get; set; }
        public int Name { get; set; }

        [ForeignKey(nameof(B))]
        public int BId{ get; set; }
   }

现在,我遇到的问题是,当与class C一起调用class A时,class A的值不包含在Include()中,这两个方法分别是ThenInclude()方法。

从DB表中获取值的方式是使用普通SQL查询和LINQ相结合。

代码语言:javascript
运行
复制
var query = from queryResult in _dbSet.Include(a => a.B).ThenInclude(B => b.C)
            select new ResultModel()
            {
             Name = queryResult.Name
             B = queryResult.B
            }

B的正常属性将从db自动映射到它,但是嵌套List属性的值并不是出于某种原因。

是否需要进行其他更改以选择查询,以便将嵌套class C属性值映射到class B

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-31 13:45:02

我希望这个问题不要太混乱。

我遇到的问题是,由于没有包含在select中,属性被忽略了。所以解决办法是改变

代码语言:javascript
运行
复制
var query = from queryResult in _dbSet.Include(a => a.B).ThenInclude(B => b.C)
            select new ResultModel()
            {
             Name = queryResult.Name
             B = queryResult.B
            }

代码语言:javascript
运行
复制
var query = from queryResult in _dbSet.Include(a => a.B).ThenInclude(B => b.C)
            select new ResultModel()
            {
             Name = queryResult.Name
             B = queryResult.B.Select(x =>
                 new C {
                    Id = x.Id,
                    Name = x.Name,
            }).ToList()

您可以阅读更多关于这个问题的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66886973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档