0

現在、エンティティ フレームワーク (.net 4) を使用して、LINQ ステートメントを使用してサード パーティのデータベースから読み取りを行っています。残念ながら、コンパイル時には、どのテーブルから読み取るのかわかりません。実際、アプリケーションのコンパイル後に新しいテーブルをこのデータベースに追加できます。読み取るテーブル名は、文字列パラメーターとしてメソッドに渡されます。

コンパイル時にテーブル名がわからない場合、この状況にどのようにアプローチする必要がありますか? これらのテーブルはまだ存在しない可能性があるため、データ モデルに追加することさえできません。私はlinqの便利さが好きですが、単純なアプローチを求めています。

ありがとう!

4

1 に答える 1

1

実行時にしか構築できず、さまざまな形状の型を返すクエリの場合、実行したい SQL を自分で作成して実行する必要があります。 DataContext.ExecuteQuery(string query, params object[] parameters)あなたの友達になります。

おそらく既にこれを行っていると思いますが、コードのこの部分をコードの 1 つのセクションに分離し、そこでクエリを実行し、結果を厳密に型指定されたオブジェクトに入れてから、アプリケーションの他の領域に公開することをお勧めします。テーブル名もきれいにしてください。

于 2012-07-13T15:02:30.330 に答える