【发布时间】:2011-02-15 06:22:40
【问题描述】:
我想为我的所有实体创建一个通用的基类。该类将具有 Save()、Delete()、GetByID() 和其他一些基本功能和属性等方法。我在 Linq to SQL 方面有更多经验,并希望在 EF 中获得一些类似的好例子。谢谢。
【问题讨论】:
标签: frameworks entity base data-access-layer data-access
我想为我的所有实体创建一个通用的基类。该类将具有 Save()、Delete()、GetByID() 和其他一些基本功能和属性等方法。我在 Linq to SQL 方面有更多经验,并希望在 EF 中获得一些类似的好例子。谢谢。
【问题讨论】:
标签: frameworks entity base data-access-layer data-access
ADO.NET 实体框架支持按层次结构表和按类型表继承。我建议你开始here 看看它是如何工作的。
【讨论】:
像这样:
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();
}
【讨论】: