1

以前は、テーブルを一般的に取得するためにGetTable(type)メソッドを持つDataContextを使用していました。例:

context.GetTable(myObject.GetType());

最近、私のチームはEntityFrameworkでObjectContextを使用するように切り替えることにしました。特定のタイプを指定せずに、DataContexts GetTableメソッドと同様のエンティティ名でテーブルを取得する方法はありますか?ジェネリックである必要があります。

4

1 に答える 1

4

これを行うには、次のような非常に簡単な方法があります。

public IQueryable GetTable<T>(T entity) where T : class
{
    return context.CreateObjectSet<T>();
}

ここで、オブジェクトを作成しPersonてジェネリックメソッドを渡すと、「allPeople」の下の変数はIQueryable、データベースの人々の変数になりますが、反復することができます。

Person person = new Person();
IQueryable allPeople = GetTable(person);
于 2011-09-01T01:06:26.480 に答える