gpt4 book ai didi

c# - 为什么LoadProperty不加载1 :N relationships?的相关实体(CRM2011,早期绑定(bind)实体类)

转载 作者:行者123 更新时间:2023-11-30 14:32:51 25 4
gpt4 key购买 nike

假设我有一个自定义实体 new_someentity,它有 2 个其他相关实体:一个“所有者”实体,我将其称为 new_ownerentity(这是一个 N:1 关系) 和一个“子”实体,我称之为 new_childentity(1:N 关系)。

我正在尝试通过调用 LoadProperty 来填充相关实体:

new_someentity en = context.new_someentitySet.First();
context.LoadProperty(en, "new_someentity_new_ownerentity");
context.LoadProperty(en, "new_someentity_new_childentity");

之后,en.new_someentity_new_ownerentity 被填充,因为我希望它包含对所有者实体的引用,但是 en.new_someentity_new_childentity 仍然是空的。不会产生任何错误。

这是怎么回事?

顺便说一句,真的没有一种简洁的方法可以为实体的 IEnumerable 加载相关实体,而无需在每个实体上单独使用 LoadProperty 吗?这似乎是 N+1 查询问题的一个非常经典的案例。

最佳答案

仅仅因为您认为当对象没有任何子实体时它应该返回一个空列表并不意味着 LoadProperty 就是这样工作的。

因此对于遇到此问题的任何其他人:

如果该记录没有任何相关记录,LoadProperty 会将属性保留为 null,即使是 1:N 关系也是如此。

关于c# - 为什么LoadProperty不加载1 :N relationships?的相关实体(CRM2011,早期绑定(bind)实体类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709126/

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