ここで私の給与計算を上回っているかもしれませんが、私はEFプロジェクト用の汎用CRUDルーチンを作成しようとしています。私はそれの仕事のほとんどを持っているが、私は1つのポイントで周りを揺るがしている。汎用クラスでエンティティフレームワークを設定
は、通常は正常に動作し、コンテキスト
DBContext.MyClass.Add(p); // p = instance of MyClass
を通じてエンティティを追加するには、このような何かを行うが、すべてを処理するためのグローバルな方法であるためには関係なく、彼らは私が渡しているが何であるか、クラスの追加しますオブジェクトとしてモデルは、それがよりthis-
DBContext<whateverobject>.Add(whateverobject); // my objects is an object param passed into the method
のようになります。私はそこtypeofsとTの束やって試してみた:クラスのものを、私は運がありませんよ。正しい方向を指していると私を助けるだろう。
私は私のオプションも
おかげEF 6より限定されたかもしれませんEFコア2を使用しています。
がpublic class Repo<T> where T: class
{
private readonly DbSet<T> _set;
public Repo(DbContext dbContext)
{
_set = dbContext.Set<T>();
}
public void Add(T entity) => _set.Add(entity);
}
この例では、多分珍しいものが含まれています
はこのメイクセンスを行います。https://stackoverflow.com/questions/30675564/in-entity-framework-how-do-i-add-a-generic-entity-対応するdbset-wi –
Erik、私はそれが正しい軌道に乗せてくれると思います。あなたがそれを答えとして言えば、私はあなたにそれを与えるでしょう。 – infocyde
最初に試してみると、私はそれに答えるでしょう:)他の人がこれを見つけて間違って使うことができないようにしたくありません。 –