Gau*_*dar 3 c# entity-framework-core
对于下面的模型
public class Parent
{
public int Id { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public int ChildId { get; set; }
public int ParentId { get; set; }
public List<Child> GrandChildren { get; set; }
}
public class GrandChild
{
public int GrandChildId { get; set; }
public int ChildId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何编写一个在Include / ThenInclude语句中获取所有Children和GrandChildren的查询?
var record = GetAll()
.Where(r => r.Id == 4)
.Include(r => r.Children)
.ThenInclude(????????????)
Run Code Online (Sandbox Code Playgroud)
在“ ThenInclude”语句中,我不能使用select语句来获取孙子代。取得GrandChildren系列的正确方法是什么?
非常感激。
只需输入导航属性名称:
.ThenInclude(c => c.GrandChildren)
Run Code Online (Sandbox Code Playgroud)
这是当前的Intellisense问题,在EF Core文档的“ 包括多个级别” 部分中特别提到:
注意
当前版本的Visual Studio提供了不正确的代码完成选项,并且
ThenInclude在集合导航属性之后使用方法时,可能导致正确的表达式被标记为语法错误。这是https://github.com/dotnet/roslyn/issues/8237上跟踪的IntelliSense错误的症状。只要代码正确且可以成功编译,就可以忽略这些虚假的语法错误。
| 归档时间: |
|
| 查看次数: |
878 次 |
| 最近记录: |