【问题标题】:Lazy loading a subclass from a POCO in Entity Framework 4.0延迟从实体框架 4.0 中的 POCO 加载子类
【发布时间】:2010-10-27 15:56:13
【问题描述】:

我想知道是否有人尝试使用 EF 和 POCO 延迟加载子类(在返回结果之前不知道子类是什么)?

这在 NHibernate 中有点像噩梦,但只要您不尝试将返回的结果强制转换为子类(因为创建了基类的代理,因此无法强制转换),它就可以工作。

【问题讨论】:

    标签: .net entity-framework poco


    【解决方案1】:

    如果您正在谈论将属性转换为特定的派生类型或特定的接口实现,不,它不能完成,恕我直言,不应该这样做。如果一个属性应该返回一个特定接口的实现,那么你应该通过那个接口与它通信。选角通常表明你做错了。

    否则属性在访问时被延迟加载而不会出现问题(如果它们被配置为延迟加载)。

    【讨论】:

    • 这是一个公平的观点,我已经更改了我的代码,以便它不会尝试转换为子类。谢谢
    【解决方案2】:

    您可能想要扩展“在返回结果之前不知道子类是什么的地方”但是......

    我一直在使用 POCO 的 EF 4 中使用延迟加载,一切都像黄油一样顺利。当我需要它时,所有东西都会被填充,而无需我提供任何代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      相关资源
      最近更新 更多