繁体   English   中英

获取 POCO 实体的 EF6 代理

[英]Get EF6 Proxy for POCO Entity

所以我有代码创建了一个 poco 实体(来自反序列化 JSON)。 我希望为实体启用延迟加载,因此我希望实体框架包装我的 POCO 对象并给我一个可以延迟加载导航属性的 EF 代理。

我已经看到很多关于从 EF 代理获取底层 poco 实体的问题的答案,但不是相反的。 给定一个 poco 实体,您如何创建包装它的 EF 代理?

两个都...

context.Set<TEntity>().Add(poco);

和...

context.Set<TEntity>().Attach(poco);

...返回 poco 实体是否有某种方法可以为我提供 poco 的代理?

当我通过以下方式加载实体时,我能够获取代理实体并且延迟加载工作正常...

context.Set<TEntity>().Where(...)

除非您从上下文中查询,否则您不能延迟加载导航属性。 如果您通过 JSON 的反序列化加载实体,则需要使用显式加载。

//Example
context.Entry(poco).Reference(x => x.ReferenceProperty).Load();
context.Entry(poco).Collection(x => x.ReferenceCollection).Load();

https://msdn.microsoft.com/en-us/data/jj574232.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM