2017-08-14 75 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

您需要設置您的數據庫集。這將是更好的具有一流水平的一個私有變量,在構造函數中設置,然後使用它。

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

因爲我用'ObjectContext'我得到這個錯誤:「MyEntities」不包含「設置」的定義,並沒有擴展方法「設置」接受一個類型的第一個參數「MyEntities」可以發現(有你缺少using指令或程序集引用?) – Arian

+0

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

+0

很抱歉,但你能解釋一下嗎?我不知道應該改變什麼 – Arian

相關問題