我的查询结果是n ^ 3,所以我简化了它。我找到了一种方法将它写为n ^ 2但由于某种原因缺少.ThenInclude
属性。这不是写它的正确方法吗?
test.Include(t => t.a)
.Include(t => t.b)
.ThenInclude(b => b.c)
.Where(t => Users.Exists(u => u.Id == t.a.Id))
.Select( t => t.b)
.ToListAsync()
这将返回' b'但是当我尝试访问它时,b.c为null。
答案 0 :(得分:2)
来自Microsoft文档:
如果更改查询以使其不再返回查询开头的实体类型的实例,则忽略包含运算符。
https://docs.microsoft.com/en-us/ef/core/querying/related-data
您需要将查询重写为最初返回“b”值。