我正在使用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);
}
}