0

DbSets最初に次のコードの平和を使用する EF コードでは、各エンティティ タイプに基づいて非ジェネリックを作成できます。

foreach (var entry in _dbContext.ChangeTracker.Entries<BaseEntity>())
{
    BaseEntity entity = entry.Entity;
    Type type = entity.GetType();
    var set = _dbContext.Set(type);
} 

それらをジェネリックとして作成する方法はありますDbSetか?

4

1 に答える 1

0

簡単ではありません。Set<>genericを本当に取得する必要がある場合は、リフレクションを使用する正しいジェネリック オーバーロードを呼び出すことができますDbSetさらに、ジェネリック メソッドを呼び出すには、コンパイル時に正しいジェネリック型パラメーターを知る必要があります。リフレクションはさておき、Type実行時にオブジェクトを使用することになると、ジェネリック型を使用できなくなります。

于 2013-12-09T04:16:42.563 に答える