Model view controller 关于泛型存储库和dbContext的混淆

Model view controller 关于泛型存储库和dbContext的混淆,model-view-controller,repository-pattern,Model View Controller,Repository Pattern,我是MVC新手,我有一个项目使用的存储库和工作单元,在项目的存储库中写着: private DbContext context; private DbSet<TEntity> dbQueryable; public GenericEFRepository(DbContext context) : base(context.Set<TEntity>()) { this.context = context; this.

我是MVC新手,我有一个项目使用的存储库和工作单元,在项目的存储库中写着:

private DbContext context;
    private DbSet<TEntity> dbQueryable;

    public GenericEFRepository(DbContext context) : base(context.Set<TEntity>())
    {
        this.context = context;
        this.dbQueryable = (DbSet<TEntity>)this.Queryable;
    }
私有DbContext上下文;
私有数据库集dbQueryable;
public-genericefreposition(DbContext-context):基(context.Set())
{
this.context=上下文;
this.dbQueryable=(DbSet)this.Queryable;
}

有谁能解释一下它是做什么的,并告诉我:base是什么吗?

从代码上看,您使用的是实体框架。前两行只是EF的对象。
GenericEFRepository
是泛型方法,我想它一定是泛型存储库的一部分

使用
:base(context.Set()
code,您正在调用基类的构造函数。请查看指定基类的
GenericEFRepository
类的定义

最后,方法体返回可在调用代码中使用的
IQueryable


但是,这一切都需要改进。通用存储库被认为是一种反模式。我建议您在实现它之前了解存储库模式。返回
IQueryable
会破坏存储库的基本用途

有关更多信息,请参考以下答案: