我正在使用实体框架,这就是我的问题所在,但它可能不相关,因为我认为这是一个通用的 C# 问题。
我有一个MyContext
有很多DbSet<T>
属性的类。
为了对它进行单元测试,我编辑了 MyContext 所以这些都是IDbSet<T>
并模拟了它。IDbSet<T>
是实体框架的一部分,而 DbSet 实现了它,因此两者几乎相同。
一切都像这样很好,因为我可以做我能做的IDbSet<T>
一切DbSet<T>
除了一件事之外的所有内容 -DbSet
都有一个名为的方法SqlQuery(..)
,我也希望能够从我的IDbSet
.
由于我无法更改DbSet
or IDbSet
,这给我留下了一个难题。我无法完全弄清楚我是如何做到的,所以我IDbSet
能够以SearchQuery(..)
某种合乎逻辑的方式添加一个方法。
那有意义吗?我很困惑,所以我可能忽略了一些非常简单的事情,例如复制和粘贴IDbSet
以及重命名它并添加SearchQuery()
. 有任何想法吗?