2

初めて EF を試す ADO.NET ユーザー。テーブル名の文字列からテーブルを取得しようとしています..予想よりも難しいです。基本的に私はここにいます:

var tableName = "Name.Entities.Measure" + measureType;
var table = Activator.CreateInstance("Name.Entities", tableName);
var unwrapped = table.Unwrap();
var type = unwrapped.GetType();
var dbset = context.Set<type>();

また

switch (tableString)
{
    case "table1":
    return GetDataFromTable1();
    case "table2":
    return GetDataFromTable2();
}

コードが少ないといいですね;)

すべてのエンティティの検索可能なコレクションを使用して拡張メソッドを作成することを考えています。より良い解決策はありますか?

4

1 に答える 1

3

私は同じものを探していました。Set() の非ジェネリック バージョンを試してください。

var tableName = "Name.Entities.Measure" + measureType;
var type = Type.GetType(tableName);
var dbset = Context.Set(type);
于 2012-12-09T14:03:50.060 に答える