(私はここEF6を使用しています) 私は抽象クラスを持っていると言う:ジェネリックですべてのDbSetを反復処理する方法は?
public abstract class MyContext<T> : DbContext
との使用にそれを入れてみましょう:
今public class MyTestContext : MyContext<MyTestContext>
{
public DbSet<Object1> Object1 { get; set; }
public DbSet<Object2> Object2 { get; set; }
}
、私はすべてのDbSetsを反復処理したいと言います私の抽象クラスのMyTestContextで。 (これは私の抽象クラスのメソッドである)、これはうまくいくようだ:
var dbSetProperties = typeof(T).GetProperties().Where(p => p.PropertyType == typeof(DbSet<>));
しかし、私は、「列挙は何の結果が得られません」を取得します。
私はここで間違っていますか?ありがとう!
編集注 - 私は、フロントアップジェネリック型引数を知ることを期待していない - 私は実際にDbSetsのそれぞれであるかの種類を決定するために探しています。
プロパティはDbSet <>型ではなく、一般的な定義はです。 –