为Entity Framework中的实体创建基类

时间:2010-05-04 00:26:04

标签: frameworks entity base data-access-layer data-access

我想为我的所有实体创建一个通用的基类。该类将具有Save(),Delete(),GetByID()等方法以及一些其他基本功能和属性。我有更多使用Linq to SQL的经验,并且希望能够在EF中获得类似的一些好例子。谢谢。

2 个答案:

答案 0 :(得分: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();
    }

答案 1 :(得分:1)

ADO.NET实体框架支持Table-per-hierarchy和Table-per-type继承。我建议你开始here看看它是如何运作的。