2016-11-23 7 views
0

私は一種のデータインポータを作成しています。インポートするソースデータベースに応じて、別のデータベース/テーブルから作業する必要があります。EFデータベースの変更コンテキスト

私は、作業する必要のあるすべてのタイプのデータベースに対して、EFでモデルを作成し始めました。

アプリケーションの設定に基づいて、特定のデータベースからデータをインポートする必要があります。

それでは、私がやりたいと、そのようなものです:私はこれを行うことができますいくつかの方法(またはいくつかの種類の)C#とEFとがあり

var myDB; //the schema I need; 
switch(DBType){ 
    case DBTypes.Application1: 
      myDB = new APP1_Entities(); 
      break; 
    case DBTypes.Application2: 
      myDB = new APP1_Entities(); 
      break; 
} 

? みなさんありがとう!

+0

依存関係の注入を調べます。 –

+0

どのように依存性注入がプロセスをインポートするのに役立ちますか? – Dennis

+0

OP、正確には解決できないものはありますか?いずれかのコンテキストを使用して、データベースからデータを読み取る必要があります。出力は何でしょうか? – Dennis

答えて

2

これを解決する良い方法は、依存性注入によるものです。このようにして依存関係が逆転し、メソッド内のコンテキストを「新しくする」というわけではありません。

public void DoSomething(DbContext context) 
{ 
    myDb = context; 

    //other logic here 
} 

これは、呼び出し元にメソッドを制御します。詳細については、ウェブ全体に豊富なリソースがあります。 MSDNのドキュメントはこちらです:https://msdn.microsoft.com/en-us/library/hh323705(v=vs.100).aspx

関連する問題