c# - 无法解析 ApplicationDbContext 中类型的服务

标签 c# asp.net-core entity-framework-core

当我尝试使用 dnx ef migrations add Mig 添加迁移时,我在控制台中出现以下异常:

Unable to resolve service for type 'Microsoft.AspNet.Http.IHttpContextAcccessor' while attempting to activate 'NewLibrary.Models.ApplicationDbContext'.

我的ApplicationDbContext:

public class ApplicationDbContext : DbContext
{
    private readonly IHttpContextAccessor _accessor;

    public ApplicationDbContext(IHttpContextAccessor accessor)
    {
        _accessor = accessor;
    }
}

有什么问题?

我应该如何正确地将依赖项添加到 ApplicationDbContext 构造函数?

最佳答案

DI 不会通过命令行设置,这就是您收到上述异常的原因。

在评论中,您解释说您希望通过 IHttpContextAccessor 访问 HttpContext,这通常在运行时可用。

迁移不会在运行时应用,DI 将在运行时配置并可用。

您可能需要阅读 Configuring a DbContext .本文档适用于 EF7 以上版本

关于c# - 无法解析 ApplicationDbContext 中类型的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36844451/

相关文章:

asp.net-core - 如何访问 ASP.NET Core Program.cs 中的 secret

asp.net-core - Entity Framework Core 1.0.1 添加迁移

c# - 在探测 privatePath 时使用绝对路径

asp.net-core - 如何在 Asp.net Core Web API 中为消息包内容类型启用 LZ4 压缩

c# - 处理异步套接字(.Net)回调后仍然会被调用

c# - 在模型级别定义具有唯一键的实体

c# - 目前不支持方法 'Microsoft.EntityFrameworkCore.RelationalQueryableExtensions.FromSql'

entity-framework - Entity Framework : Left Join with List Result

c# - 为 Word 插件创建对话框

c# - LINQPad 如何编译代码?