gpt4 book ai didi

unit-testing - 为什么 ObjectContext 类不是从某个接口(interface)派生的?

转载 作者:行者123 更新时间:2023-12-04 19:20:47 24 4
gpt4 key购买 nike

我认为 MS 的人比我聪明得多。我试图构建/测试一个几乎遵循 this 的存储库方法,除了我想松散地耦合存储库中的 ObjectContext 依赖项。我发现为了解耦,我需要跳很多圈,如 this 所示。文章。即使这种方法也很难使用

  • 您有来自现有数据库的 edmx
  • 您有一个围绕 ObjectContext 接口(interface)和 IObjectSet
  • 构建的通用存储库
  • 在进行单元测试时,您希望伪造此对象上下文并将所有操作保留在内存中。考虑测试存储库。

  • 现在真正的问题是,为什么 ObjectContext 的创建者决定不使用 IObjectContext ?
    我希望我的问题是有道理的,如果有人能证明它没有并给我指路,我会很高兴。
    提前致谢!

    最佳答案

    由于上下文是一个分部类,您可以轻松地在单独的文件中为其添加接口(interface):public partial class YourContext : IMyCustomInterface ,并且您可以在 IMyCustomInterface 中放入要从生成的 ObjectContext 中使用的任何签名。

    或者您可以采用(通常)更推荐的方式,即比 ObjectContext 进一步抽象到 Repositories 中,如 this blog post (整个系列的帖子都很有趣且相关)或this one .

    关于unit-testing - 为什么 ObjectContext 类不是从某个接口(interface)派生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3649132/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com