使用实体框架将DSET DATAACCESS逻辑放置在哪里



我正在使用codefirst ef6,我想将所有相关的"查询"放入一个类中。

假设我有一个

DbSet<Car> Cars;

在我的dbcontext中。

我试图用混凝土DBSET作为基类创建一个新类:

public class CarRepository : DbSet<Car>

我在其中找到所有相关的操作。

当我在dbcontext类中替换dbset用宗旨替换dbset时,它不会填充。然后,我尝试从IDBSET派生,但我不确定如何实现所有需要的方法。

是否有另一种方法可以在不使用扩展类别的情况下实现此目标?

您可以简单地创建自己的单个类(您的存储库(并将其放置这样的方法。

    public class Repository<TEntity> where TEntity : class
    {
        private DbContext context;
        private DbSet<TEntity> dbSet;
        public Repository(DbContext context)
        {
            this.context = context;
            this.dbSet = context.Set<TEntity>();
        }
        public virtual TEntity GetByID(object id)
        {
            return dbSet.Find(id);
        }
    }

相关内容

  • 没有找到相关文章

最新更新