1

有人可以澄清我对实体框架(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

4

1 回答 1

2

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

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

于 2011-07-17T12:53:40.733 回答