2010-05-04 70 views
2

我想創建一個對於我的所有實體都具有一定通用性的基類。該類將具有諸如Save(),Delete(),GetByID()等一些基本功能和屬性的方法。我對Linq to SQL有更多的經驗,並希望在EF中獲得一些類似的好例子。謝謝。爲實體框架中的實體創建基類

回答

1

ADO.NET實體框架支持Table-per-hierarchy和Table-per-type繼承。我建議你開始here看看它是如何工作的。

2

像這樣:

public abstract class BaseObject<T> 
    { 
     public void Delete(T entity) 
     { 
      db.DeleteObject(entity); 
      db.SaveChanges(); 
     } 

     public void Update(T entity) 
     { 
      db.AcceptAllChanges(); 
      db.SaveChanges(); 
     } 
    } 

    public interface IBaseRepository<T> 
    { 
     void Add(T entity); 

     T GetById(int id); 
     IQueryable<T> GetAll(); 
    } 
+0

你怎麼處理的界面呢? – 2012-09-18 18:11:17

+0

該類似乎缺少DBContext對象「db」聲明。 – 2012-09-18 18:44:06