Creating base class for Entities in Entity Framewo

2019-04-02 05:52发布

问题:

I would like to create a base class that is somewhat generic for all of my entities. The class would have methods like Save(), Delete(), GetByID() and some other basic functionality and properties. I have more experience with Linq to SQL and was hoping to get some good examples for something similar in the EF. Thank you.

回答1:

Like this:

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();
    }


回答2:

The ADO.NET Entity Framework supports both Table-per-hierarchy and Table-per-type inheritance. I suggest you start here to see how it works.