首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >没有与所需形参的GenericRepository<Incident>.GenericRepository(dbContext)上下文相对应的给定实参

没有与所需形参的GenericRepository<Incident>.GenericRepository(dbContext)上下文相对应的给定实参
EN

Stack Overflow用户
提问于 2015-11-14 04:26:27
回答 1查看 35K关注 0票数 19

当我试图从我的GenericRepository继承时,我得到了这个错误信息。错误提示我还需要提供上下文,但我不确定如何提供?

代码语言:javascript
复制
//IncidentRepository 
public class IncidentRepository : GenericRepository<Incident>

//Generic Repository (to inherit from)
public class GenericRepository<TEntity> where TEntity : class
{
internal db_SLee_FYPContext context;
internal DbSet<TEntity> dbSet;

public GenericRepository(db_SLee_FYPContext context)
{
    this.context = context;
    this.dbSet = context.Set<TEntity>();
}

编辑:

只是为了检查我是否掌握了这个?

代码语言:javascript
复制
  public class IncidentRepository: GenericRepository<Incident>
  {

    public IncidentRepository(db_SLee_FYPContext context)
    {
        this.context = context;
    }

    //Then in my genric repository
    public GenericRepository()
    {

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-16 05:18:23

该错误告诉您没有调用适当的基构造器。派生类中的构造函数...

代码语言:javascript
复制
public IncidentRepository(db_SLee_FYPContext context)
{
    this.context = context;
}

..。实际上是这样做的:

代码语言:javascript
复制
public IncidentRepository(db_SLee_FYPContext context)
    : base()
{
    this.context = context;
}

但是没有无参数的基构造器。

您应该通过调用匹配的基构造器来修复此问题:

代码语言:javascript
复制
public IncidentRepository(db_SLee_FYPContext context)
    : base(context)
{ }

在C# 6中,如果基本类型中只有一个构造函数,则会收到此消息,因此它会给出基本构造函数中缺少哪个参数的最佳提示。在C# 5中,消息简单地是

GenericRepository不包含采用0个参数

的构造函数

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33701210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档