0

我想将我的 POCO 手写为具有虚拟属性的简单类,以便实体框架可以生成代理。我将启用代理创建(默认情况下启用),以便我可以进行更改跟踪和延迟加载。

我的问题是:我可以拥有它们吗?

更具体地说,我注意到 POCO 模板生成器生成带有FixupCollection<T>. 那有必要吗?如果我将简单的手写 POCO 中的导航属性设置为 virtual IEnumerable<T>,那么没有任何FixupCollection<T>东西就足够了吗?

作为替代方案,我可以使用 POCO 模板生成器,但我不希望这样做,因为我的模型非常庞大且复杂。我需要继续对模型进行更改,并且需要继续编辑模型类定义。如果我使用 POCO 模板生成器,每次我出于某种原因需要重新生成模型时,它都会覆盖我所有的自定义更改。

那么,是否有可能以他们名字的真正精神拥有 POCO?

4

1 回答 1

1

是的,当然这是可能的。 http://msdn.microsoft.com/en-us/library/vstudio/dd456853%28v=vs.100%29.aspx

POCO 类可以使用 FixupCollection 类来保持关系的相对端同步。

http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx

于 2012-12-16T11:21:43.613 回答