私はEntity Frameworkを使用していますが、それが私の問題ですが、これは一般的なC#の質問だと思うので、おそらく関係ありません。
多くのプロパティを持つMyContext
クラスがあります。DbSet<T>
それを単体テストするために、IDbSet<T>
代わりに MyContext を編集して、すべてモックアップしました。IDbSet<T>
は Entity Framework の一部であり、DbSet がそれを実装しているため、この 2 つはほぼ同じです。
IDbSet<T>
できることはすべてできるので、このようにすべてがうまく機能します。DbSet<T>
1 つを除いてすべて -DbSet
と呼ばれるメソッドがあり、SqlQuery(..)
それを my IDbSet
.
DbSet
またはを変更することはできないのでIDbSet
、これは私に難問を残します。どのように作成できるか正確に理解できないので、論理的な方法でメソッドを追加することIDbSet
ができます。SearchQuery(..)
それは理にかなっていますか?私はかなり混乱しているので、コピー&ペーストIDbSet
して名前を変更して追加するなど、本当に単純なことを見落としている可能性がありSearchQuery()
ます。何か案は?