EntityReference<TEntity>.Load(MergeOption) 方法

定义

使用指定的合并选项为此 EntityReference<TEntity> 加载相关对象。

public:
 override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load (System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)

参数

mergeOption
MergeOption

指定当 ObjectContext 中已存在该对象时,应如何返回它。

例外

EntityReference<TEntity> 的源为 null

- 或 -

查询返回一个以上的相关端。

- 或 -

查询返回零个相关端,而预期应该有一个相关端。

注解

此方法用于加载相关对象。

加载后,从 Value 属性访问相关对象。

若要显式加载相关对象,必须在导航属性返回的相关端调用 Load 方法。 对于一对多关系,请调用 LoadEntityCollection<TEntity> 方法,而对于一对一关系,请调用 LoadEntityReference<TEntity>。 这样可将相关对象数据加载到对象上下文中。 当查询返回结果时,可以使用 Visual Basic) 中的循环 (通过对象foreach集合枚举,并有条件地调用EntityReference<TEntity>Load结果中每个实体的 方法和EntityCollection<TEntity>For Each...Next属性。

方法 Load 从数据源加载相关对象,无论 IsLoaded 是否为 true

注意

当您在 Load (C#) 或 foreach (Visual Basic) 枚举过程中调用 For Each 方法时,对象服务会尝试打开一个新的数据读取器。 除非您已经通过在连接字符串中指定 multipleactiveresultsets=true 启用了多个活动结果集,否则此操作将失败。 还可以将查询的结果加载到一个 List<T> 集合中。 这样将关闭数据读取器,并允许您对集合进行枚举来加载引用的对象。

此方法在加载相关对象之前调用内部 RelatedEnd.ValidateLoad 方法,这将验证对 Load 的调用是否具有正确的条件。 方法 RelatedEnd.ValidateLoad 检查:

当相关对象已加载到 中 ObjectContext时, Load 方法将 MergeOption 强制由 mergeOption 参数指定的 。 有关详细信息,请参阅标识解析、状态管理和更改跟踪

适用于

另请参阅