【发布时间】:2010-10-27 15:56:13
【问题描述】:
我想知道是否有人尝试使用 EF 和 POCO 延迟加载子类(在返回结果之前不知道子类是什么)?
这在 NHibernate 中有点像噩梦,但只要您不尝试将返回的结果强制转换为子类(因为创建了基类的代理,因此无法强制转换),它就可以工作。
【问题讨论】:
标签: .net entity-framework poco
我想知道是否有人尝试使用 EF 和 POCO 延迟加载子类(在返回结果之前不知道子类是什么)?
这在 NHibernate 中有点像噩梦,但只要您不尝试将返回的结果强制转换为子类(因为创建了基类的代理,因此无法强制转换),它就可以工作。
【问题讨论】:
标签: .net entity-framework poco
如果您正在谈论将属性转换为特定的派生类型或特定的接口实现,不,它不能完成,恕我直言,不应该这样做。如果一个属性应该返回一个特定接口的实现,那么你应该通过那个接口与它通信。选角通常表明你做错了。
否则属性在访问时被延迟加载而不会出现问题(如果它们被配置为延迟加载)。
【讨论】:
您可能想要扩展“在返回结果之前不知道子类是什么的地方”但是......
我一直在使用 POCO 的 EF 4 中使用延迟加载,一切都像黄油一样顺利。当我需要它时,所有东西都会被填充,而无需我提供任何代码。
【讨论】: