2012-11-21 53 views
1

在Entity Framework中使用空对象模式有哪些选择?我所有的业务对象都有一个静态的'Empty'空对象(类似于Guid.Empty,String.Empty和其他),当从数据库中选择一个空值时,这些对象被分配给相关对象的属性。实体框架是否支持空对象模式?

NHibernate通过字段访问和对应属性(an example)中的处理程序代码支持此模式。实体框架如何支持这一点?关于一对多关系的空列表呢?

回答

1

该文章仅使用映射字段和未映射属性 - 您可以在EF中使用具有两个属性的类似方法。该方法会带来一些复杂性,因为指定加载只能在映射的属性上进行,而延迟加载也有一些要求(动态代理必须覆盖映射的属性)。

空对象的整体含义可能有点复杂,因为EF与null意味着未分配或未加载(如果您关闭延迟加载)。

+0

嗯。我希望拦截实体的“实体化”,并根据加载策略分配一个空对象。感谢您的澄清。 – simonhaines