有人可以澄清我对实体框架(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
答案 0 :(得分:2)
修复只是由T4模板生成的代码。 EF根本不需要它,EF不使用它。 ADO.NET团队做了一些假设,POCO应该是聪明的,并且如果你改变它的话就修复它们的导航属性。如果您手动编写实体而不是使用T4模板,并且您将省略所有修复逻辑,它仍然可以工作。这也是您首先不需要修复代码的原因。
您可以修改T4模板并删除所有修正逻辑。