データ アクセスに Linq2SQL を使用するプロジェクトに取り組んでいます。このプロジェクトは、ASP.NET MVC アプリケーションと 8 つのクラス ライブラリで構成されています。ほとんどのクラス ライブラリには、独自の L2S データ クラスがあります。
私が行っている作業の一環として、テスト対象のさまざまなコンポーネントを取得して、コードベースをクリーンアップする安定性を導入しようとしています。現在、静的クラスとメソッドを多用しており、コントローラーには使用される静的 DataContexts があります。全体を通して。
コントローラーのアクションをテストできるように、L2S の使用をリファクタリングするにはどうすればよいですか?
アプリに依存性注入を導入して他のサービスの一部を切り離しましたが、DataContext とその DataLoadOptions のインスタンス化を制御したいので、DataContext をコントローラーの依存関係プロパティとして使用したくありません。
私が試したことの 1 つは、L2S が生成する部分クラスを利用して DataContext に Interface を追加することでしたが、抽象化がクラス ライブラリにとどまるのではなく、アプリケーションにバブルアップすることがわかりました。それは物事を行う正しい方法とは思えず、維持するのが面倒だと感じました。この方法で成功または失敗した人はいますか?