代码之家  ›  专栏  ›  技术社区  ›  Zubair Rana

如何在具有单独身份验证的ASP.NET Core 2.0的AccountController中获取applicationDBContext实例?

  •  1
  • Zubair Rana  · 技术社区  · 6 年前

    我是ASP.NET核心的新手,不需要什么帮助。我已经创建了带有个人身份验证的ASP.NET Core2.0 MVC项目。现在我想访问accountcontroller中的当前applicationdbcontext。通过搜索,我发现我们可以像这段代码一样使用依赖注入。

        private readonly ApplicationDbContext _context;
    
        public AccountController(ApplicationDbContext context)
        {
            _context = context;
        }
    

    此方法适用于除scaffolded accountcontroller之外的所有其他控制器,并且在运行项目时生成以下错误:

    InvalidOperationException: Multiple constructors accepting all given argument types have been found in type 'PacePreneur.Controllers.AccountController'. There should only be one applicable constructor.
    

    我知道这个错误是由于这个新的构造函数造成的,因为accountcontroller已经有了一个构造函数,但是我不知道如何使用它来获取当前的dbcontext。我还在寻找其他的解决办法。

    附言:如果这是一个无意义的问题,很抱歉。

    1 回复  |  直到 6 年前
        1
  •  1
  •   CodeNotFound dotnetstep    6 年前

    确保只有一个构造函数,并确保该构造函数接受第一个构造函数所做的一切,但添加 ApplicationDbContext 作为另一个参数。所以如果你的原始构造器接受了参数 a 我是说, b ,删除新构造函数并添加 dbcontext 到采用 , 现在 ,请 ,请 数据库上下文 -”