我正在研究ADO.NET实体框架和单元测试。 Scott Allan描述了一种推荐的方式:
Testability and Entity Framework 4.0
该文章涉及code generation with POCOS。
我的第一印象:引入和维护此架构的手动工作很高。在深度潜水之前,我对任何真实世界的经历感兴趣。
答案 0 :(得分:2)
Scott建议将POCO模板作为选项,而非要求。您不需要使用它。斯科特的策略也适用于非POCO实体。
如果单元测试是唯一的好处,那么努力会很高。但是,由于您还可以按照通常理解的模式组织结构良好的应用程序,因此良好的单元测试实际上只是与Scott的架构结合在一起。
答案 1 :(得分:1)
要添加@Craig Stuntz所提到的内容,我建议您查看EF Futures Code-First。它现在在CTP5,RC / Beta很快。我最近一直在将它用于两个独立的项目,它很棒。我个人讨厌使用可视化编辑器,这应该由代码真正驱动。我发现POCO对于编写项目非常棒。
答案 2 :(得分:1)
使用POCO对象可以更轻松地进行单元测试,但无法帮助您使用LINQ查询的代码可以测试这些POCO对象。看看this article。它描述了如何隐藏抽象背后的EF,同时仍允许在其上使用LINQ查询。