【问题标题】:Real world experiences with the ADO.NET Entity Framework and unit testingADO.NET 实体框架和单元测试的真实体验
【发布时间】:2011-05-28 06:54:42
【问题描述】:

我正在结合单元测试研究 ADO.NET 实体框架。 Scott Allan 描述了一种推荐的方法:

Testability and Entity Framework 4.0

文章涉及code generation with POCOS

我的第一印象:引入和维护这种架构的手动工作量很大。在深入研究之前,我对任何现实世界的体验都很感兴趣。

【问题讨论】:

    标签: .net unit-testing entity-framework


    【解决方案1】:

    使用 POCO 对象使单元测试更容易,但不能帮助您使对这些 POCO 对象使用 LINQ 查询的代码可测试。看看this article。它描述了如何将 EF 隐藏在抽象之后,同时仍然允许在其上使用 LINQ 查询。

    【讨论】:

    • 很棒的文章。这是对主题的详细而有价值的阐述。您只需替换一小段代码即可在 LINQ to SQL 和 EF 之间切换的直接方式以及对存储库的扩展方法的使用给我留下了深刻的印象。还有真实世界的体验——我在你的读者的 cmets 中找到了一些。
    • 如果可以,仍然尝试使用 POCO 对象。 IMO 将 POCO 与给定的方法一起使用可能效果最好。请不要忘记文章中提到的短篇 ;-)。
    【解决方案2】:

    要添加@Craig Stuntz 提到的内容,我建议您查看EF Futures Code-First。它现在在 CTP5 中,很快就会在 RC/Beta 中。我最近将它用于两个独立的项目,非常棒。我个人讨厌在应该由代码真正驱动时使用可视化编辑器。我发现 POCO 非常适合编写项目。

    【讨论】:

      【解决方案3】:

      Scott 建议将 POCO 模板作为一个选项,而不是要求。你不需要使用它。 Scott 的策略也适用于非 POCO 实体。

      如果单元测试是唯一的好处,那么工作量会很大。但是,由于您还可以获得一个按照普遍理解的模式组织的结构良好的应用程序,因此良好的单元测试实际上只是在 Scott 的架构上锦上添花。

      【讨论】:

        猜你喜欢
        • 2013-10-17
        • 2023-03-22
        • 2023-04-09
        • 2017-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多