0

したがって、データコンテキストを介してデータベースにアクセスするために使用するADO.NETオブジェクトがあります。

スキーマが非常に似ている2つの別々のデータベースにテストデータがあります。2つのデータベースから2つのモデルを作成することを検討しています。しかし、モデルを「切り替える」のが最も簡単な方法はわかりません。

理想的には、1行のコードを変更することでコンテキストを切り替えられるようにしたいと思います。切り替えは診断のみを目的としています。

いくつかのメソッドからこのモデルにアクセスするため、データコンテキストの静的インスタンスを(簡単に)作成してから、メソッドでコンテキストのタイプを明示的に宣言する必要があるため、最初にコンテキストのモデルを変更することはできません。パラメータ(モデルを変更するたびにタイプを変更します)。

このようなもの:

(using SF_EntitiesDEV1 ctx = new SF_EntitiesDEV1()) {
    checkForStrangeStuff(ctx);
    runTests(ctx);
    checkResults(ctx);
    ... etc
}

ここで、SF_EntititesDEV1をSF_EntitiesDEV2に変更する場合は、すべてのメソッドのメソッドパラメータータイプを変更する必要があります。

4

1 に答える 1

0

まだ行っていない場合は、一般的なリポジトリアプローチの使用を検討します。ほとんどの例では、汎用リポジトリを使用してCRUD作業を行っていますが、必要な作業を行うためにそれを使用できなかった理由がわかりません。

基本的に、コンストラクターのパラメーターとしてコンテキスト(インターフェース)を受け取るクラスを設定します。次に、リポジトリをインスタンス化してそのメソッドを呼び出すときに使用するコンテキストを渡します。

汎用リポジトリを設定する方法についてのかなり良い議論については、ここを見てください。

于 2012-09-17T15:14:33.310 に答える