2017-08-14 9 views
0

私はいくつかの類似したエンティティを持っていますが、CRUDオペレーションの汎用抽象クラスを作成したいのですが、ジェネリッククラスのエンティティへのアクセス方法はわかりません。例:EFデータベースの最初のアプローチを使用してジェネリック抽象クラスを作成する

public abstract class HeaderRepository<T> 
{ 
    public HeaderRepository() 
    { 

    } 

    public virtual byte[] Insert(T item) 
    { 
     using (MyEntities context = new MyEntities()) 
     { 
      context.***** <-- What I should write to add an object to entity T 
     } 
    } 
} 

私はそれを持っていることを望みます。

ありがとうございました

答えて

1

DBセットを設定する必要があります。クラスレベルでプライベート変数を作成し、コンストラクタで設定してから使用する方がよいでしょう。

using (MyEntities context = new MyEntities()) 
    { 
     DbSet<T> dbSet = context.Set<T>(); 
     dbSet.Add(...) //Whatever your operation is. 
    } 
+0

私は、このエラーましObjectContext' '使用するので:「MyEntitiesは」「に設定」とタイプ「MyEntities」の最初の引数を受け入れる「SET」は拡張メソッドが見つかりませんでしたの定義が含まれていませんが(ありますusingディレクティブまたはアセンブリ参照がありません) – Arian

+0

https://stackoverflow.com/questions/9248460/dbcontext-sett-does-not-contain-definition-of-sett – Harsh

+0

申し訳ありませんが、もっと説明できますか?私はどのような変更を適用するべきか分かりません – Arian

関連する問題