私はデータアクセスのためにLinq2SQLを使用するプロジェクトに取り組んでいます。このプロジェクトは、ASP.NET MVCアプリケーションと8つのクラスライブラリで構成されています。ほとんどのクラスライブラリは、独自のL2Sデータクラスを持っています。Linq2SQLをテスト容易化のために抽象化する方法
私がやっている作業の一環として、テスト中のさまざまなコンポーネントを取得して、コードベースのクリーンアップを導入しようとしています。現在、静的なクラスとメソッドを大量に使用しています。全体を通して使用されるDataContexts。
L2Sの使用方法をリファクタリングしてコントローラの動作をテストするにはどうすればよいですか?
私は、他のサービスの一部を切り離すためにアプリケーションに依存性注入を導入しましたが、DataContextとそのDataLoadOptionsのインスタンス化を制御したいので、DataContextをコントローラの依存関係プロパティとしてはしたくありません。
私が試したことの1つは、L2Sが生成し、DataContextにインターフェイスを追加した部分クラスを利用していましたが、抽象クラスがクラスライブラリにとどまるのではなく、アプリケーションに邪魔されていました。それは正しいやり方のように感じず、維持するのが苦痛になるでしょう。誰かがこの方法で特別な成功または失敗を経験しましたか?
これはLINQ to SQLで抽象化されますが、すべての機能も削除されます。このスキームでは、型付きデータセットに戻ります。 – usr
@usr - 私はそうは思わない。 –
私はクエリを実行する方法を見ていない。最も興味深いアプリケーションでは、フィルタリングと順序付け以上の機能を果たすクエリが必要です。一般的なクエリ機能が必要です。 – usr