gpt4 book ai didi

c# - 是否可以使用 EntityEntry.Reference 加载嵌套导航属性?

转载 作者:行者123 更新时间:2023-12-03 20:15:59 27 4
gpt4 key购买 nike

以这些示例类为例:

class TemplatePart
{
public PartStock stock {get; set;}
...other POCOs
}

class PartStock
{
public Part part {get; set;}
...other POCOs
}

class Part
{
public PartName name {get; set;}
...other POCOs
}

现在,假设我已经有一个 TemplatePart 的实体。 .我可以做这个:
var entry = context.Entry(templatePart);
entry.Reference(x => x.PartStock).Load();

这将加载 PartStock 的导航属性。 .但我该怎么做:
entry.Reference(x => x.PartStock.Part).Load();

这会产生一个异常:

The expression 'x => x.PartStock.Part' is not a valid property expression. The expression should represent a simple property access: 't => t.MyProperty'. Parameter name: propertyAccessExpression



是否有一些替代方法仍然使用 entry我已经有了?我不想再次使用 Include 重新加载整个内容如果我不需要。

我正在使用 EntityFramework Core 2。

最佳答案

而不是直接调用Load方法,您可以使用 Query() 的组合, Include/ThenIncludeLoad方法:

entry.Reference(x => x.PartStock)
.Query()
.Include(x => x.Part)
.Load();

关于c# - 是否可以使用 EntityEntry.Reference 加载嵌套导航属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54675380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com