gpt4 book ai didi

.net - Entity Framework : Loading Many to One entity

转载 作者:行者123 更新时间:2023-12-02 07:56:50 25 4
gpt4 key购买 nike

假设我有一个角色实体和一个站点实体。现在一个站点有很多角色,因此在 Role 类中有一个 Site 属性表示这种关系。如果我想要一个网站的角色,我会这样做:

Site.Roles.Load()

问题是,由于 Role 类上的 Site 属性不是集合而只是单个实体,因此没有 Load 方法:

currentRole.Site //????

因此,当加载角色时,站点为空,除了查询角色集合以获取站点 ID、从站点集中获取站点并最终设置站点外,没有其他方法可以获取该站点到 currentRole 的站点属性。

必须有更好的方法吗?我是否必须在查询中强制执行某种连接?看起来这将由代码生成,就像 Load 方法的行为一样。

最佳答案

实际上,访问它不会自动加载它。您可以使用 Include 方法在单个查询中包含相关实体,但您也可以像使用集合一样使用带有引用的 Load 方法——它只是不在 CLR 引用属性上,而是在与 CLR 并行的 EntityReference 属性上对实体的引用。它的名称与 CLR 引用相同,但添加了“引用”一词。所以你可以说:

currentRole.SiteReference.Load();

对于它的值(value),在 EF 的 VS 2010/.net 4.0 版本中,还可以在 ObjectContext 上设置一个属性,这将打开隐式延迟加载,以便访问 clr 引用将自​​动加载如果尚未加载它。

丹尼

关于.net - Entity Framework : Loading Many to One entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/526530/

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