gpt4 book ai didi

c# - 公开包含方法

转载 作者:行者123 更新时间:2023-11-30 21:15:22 24 4
gpt4 key购买 nike

我的数据层有一个接口(interface),它提供插入、更新、删除、getQuery 等常用方法。

有时我想添加一个处理存储库的方法。我注意到我几乎可以使用接口(interface)提供的那些常用方法来做所有事情。我唯一不能做的就是“包含”。

我怀疑是否将 Include 方法添加到 db 接口(interface),以便我的业务层可以在不依赖 Entity Framework (system.data.entities) 的情况下做所有事情。

这个问题的解决方法是什么?

最佳答案

公开自定义 Include 包装器不会使您的上层依赖于 EF。 include 将成为您的 DAL 层公共(public)接口(interface)的一部分。做出诸如“如果我决定更改 ORM 会怎样?”之类的决定。制作您的应用程序的方式确实很糟糕-构建有效的解决方案,然后在有时间的情况下对其进行改进。切换到其他 ORM 是非常罕见的,并且在 99% 的情况下计划您的应用程序支持该切换是浪费时间和金钱。您的责任是在三个月后及时交付工作解决方案,而不是可扩展的解决方案。

暴露的 Include 的唯一缺点可能是单元测试和模拟 - 这需要将 EF 相关的包含隐藏到 DAL 内部,以便它可以被模拟。这可能在您的 previous question 中得到解决.

关于c# - 公开包含方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785404/

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