我正在开发一个使用 Linq2SQL 进行数据访问的项目。该项目由一个 ASP.NET MVC 应用程序和 8 个类库组成。大多数类库都有自己的 L2S 数据类。
作为我正在做的工作的一部分,我试图让各种被测组件引入一些稳定性清理代码库,它目前大量使用静态类和方法,并且控制器具有使用的静态 DataContexts自始至终。
如何重构 L2S 使用,以便我可以测试控制器操作?
我已经在应用程序中引入了依赖注入来解耦其他一些服务,但我不希望 DataContext 作为控制器的依赖属性,因为我想控制 DataContext 及其 DataLoadOptions 的实例化。
我确实尝试过的一件事是利用 L2S 生成的部分类并向 DataContexts 添加一个接口,但我发现抽象冒泡它进入了应用程序,而不是停留在类库中。感觉这不是正确的做事方式,维护起来会很痛苦。有没有人用这种方法取得过任何特别的成功或失败?