我应该从我的Entity Framework T4模板中删除Association Fixup代码吗?

时间:2011-07-17 12:24:49

标签: entity-framework-4 fixup

有人可以澄清我对实体框架(T4生成的POCO)中关联修正代码的看法吗?

最近关于修复的评论声明'例如代码优先没有使用它们,一切仍然有用'。

我对这个修复方法有点困惑 - 似乎没有人喜欢它 - 我当然不喜欢它污染我的POCO(虽然我的原因是因为性能问题)但我不清楚什么方案我真的需要它。

如果我使用短期数据上下文生命周期,即ASP.NET应用程序中每个页面请求(UoW)的新上下文,那么如果我要删除所有关联修复代码,我应该担心吗? T4模板(最后很干净的POCO)?

修改

我在MSDN上找到了这个讨论'Fixup Goes Crazy',这确实提供了一些说明:http://social.msdn.microsoft.com/Forums/pl-PL/adodotnetentityframework/thread/a757d1fb-1339-422e-a03a-2b90ce4cd692

1 个答案:

答案 0 :(得分:2)

修复只是由T4模板生成的代码。 EF根本不需要它,EF不使用它。 ADO.NET团队做了一些假设,POCO应该是聪明的,并且如果你改变它的话就修复它们的导航属性。如果您手动编写实体而不是使用T4模板,并且您将省略所有修复逻辑,它仍然可以工作。这也是您首先不需要修复代码的原因。

您可以修改T4模板并删除所有修正逻辑。