Con*_*ver 18 entity-framework include entity-framework-core .net-core
假设首先使用这些模型:
Method
有一个OriginalCode
OriginalCode
有很多Mutant
s
Mutant
有很多ParseSubTree
s的
现在在查询时Method
我希望另一个被加载.所以我有以下内容:
Method targetMethod = dBContext.Methods
.Include(me => me.OriginalCode)
.ThenInclude(oc => oc.Mutants)
.FirstOrDefault(me => me.Id == id);
Run Code Online (Sandbox Code Playgroud)
并且下一步是另外包括ParseSubTree
.但问题是我无法访问它.请参见以下图像:
问题是"mu是列表而不是对象引用"!
我的错误在哪里!
TG.
Iva*_*oev 34
这是一个已知的Intellisense问题,具有ThenInclude
集合类型导航属性的重载,由容错案例#8237 Roslyn GitHub问题中的完成缺少lambda参数成员跟踪.
在修复之前,只需键入属性的名称,它就会成功编译并按预期工作.
.ThenInclude(mu => mu.ParseSubTrees)
Run Code Online (Sandbox Code Playgroud)
更新:现在甚至在EF Core文档的Including multiple levels 部分中特别提到:
注意
当前版本的Visual Studio提供了错误的代码完成选项,并且
ThenInclude
在集合导航属性之后使用该方法时,可能会导致正确的表达式被标记为语法错误.这是在https://github.com/dotnet/roslyn/issues/8237上跟踪的IntelliSense错误的症状.只要代码正确并且可以成功编译,就可以安全地忽略这些伪造的语法错误.
归档时间: |
|
查看次数: |
2866 次 |
最近记录: |