我想将我的 POCO 手写为具有虚拟属性的简单类,以便实体框架可以生成代理。我将启用代理创建(默认情况下启用),以便我可以进行更改跟踪和延迟加载。
我的问题是:我可以拥有它们吗?
更具体地说,我注意到 POCO 模板生成器生成带有FixupCollection<T>
. 那有必要吗?如果我将简单的手写 POCO 中的导航属性设置为 virtual IEnumerable<T>
,那么没有任何FixupCollection<T>
东西就足够了吗?
作为替代方案,我可以使用 POCO 模板生成器,但我不希望这样做,因为我的模型非常庞大且复杂。我需要继续对模型进行更改,并且需要继续编辑模型类定义。如果我使用 POCO 模板生成器,每次我出于某种原因需要重新生成模型时,它都会覆盖我所有的自定义更改。
那么,是否有可能以他们名字的真正精神拥有 POCO?