Add-Migration 因控制台核心 2.0 应用程序中的依赖项注入而失败

麦克劳德

我尝试在控制台 .net core 2.0 应用程序中使用 EF Core 2.0。当我使用IDesignTimeDbContextFactory或覆盖派生类的OnConfiguring方法时在包管理器控制台中成功。但是,如果我尝试在 asp.net 核心应用程序中使用like,我会收到以下消息:DbContextCustomerDbContextAdd-MigrationAddDbContext

Unable to create an object of type 'CustomerDbContext'

控制台 .net 核心应用程序的代码片段是:

class Program
{

    static void Main(string[] args)
    {
        var services = new ServiceCollection();
        IConfigurationRoot config = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("config.json")     //needs Microsoft.Extensions.Configuration.Json
            .Build();

        string conn = config.GetConnectionString("WarehouseConnection");
        services
            .AddDbContext<CustomerDbContext>(
            options => options.UseSqlServer(config.GetConnectionString("WarehouseConnection")));

        var provider = services.BuildServiceProvider();
        using(var context = provider.GetService<CustomerDbContext>())
        {
             ...   
        }

    }

}

config.json包含连接字符串:

{
  "ConnectionStrings": {
    "WarehouseConnection": "Server=(localdb)\\mssqllocaldb;Database=WAREHOUSE;Trusted_Connection=True;MultipleActiveResultSets=true"
}

CustomerDbContext班是:

class CustomerDbContext : DbContext   
{
    public CustomerDbContext(DbContextOptions<CustomerDbContext> options) : base(options) { }
    public DbSet<Customer> Customers { get; set; }
}

任何想法为什么这种方法失败?

加尔丁

从 2.0 开始,EF 工具会检查BuildWebHost()方法并在它存在时使用它来访问应用程序服务。由于您不需要BuildWebHost()usingIDesignTimeDbContextFactory是正确的方法。

查看讨论中的公告此评论以获取更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在.NET Core控制台应用程序中为EF Core DbContext服务错误建立了依赖项注入

来自分类Dev

使用Autofac将依赖项注入控制台应用程序的Main入口点

来自分类Dev

如何在asp.net控制台应用程序中使用依赖项注入?

来自分类Dev

使用Autofac将依赖项注入控制台应用程序的Main入口点

来自分类Dev

在VB控制台应用程序中为时间添加0

来自分类Dev

在控制台应用程序中调用 ExitProcess(0) 不会显示内存泄漏

来自分类Dev

依赖项注入在Angular 2入门应用程序中不起作用

来自分类Dev

如何在Symfony2控制台应用程序中添加辅助输出?

来自分类Dev

如何在Symfony2应用程序中创建控制台命令

来自分类Dev

C#值始终为0控制台应用程序

来自分类Dev

我的控制台应用程序以代码0退出的原因是什么?

来自分类Dev

C#值始终为0控制台应用程序

来自分类Dev

Visual Studio Windows 控制台应用程序在从 main() 返回 0 时抛出异常

来自分类Dev

尽管发生未处理的异常,控制台应用程序已退出,代码为0(0x0)

来自分类Dev

Docker容器中的.net核心控制台应用程序引发System.ObjectDisposedException

来自分类Dev

多线程控制台应用程序中的EF核心内存泄漏

来自分类Dev

控制台应用程序如何在 Windows 10 核心输出包中添加?

来自分类Dev

无法在 Windows Server 2008 R2 中运行 dotnet core 2 控制台应用程序

来自分类Dev

伪造/模拟.Net Core依赖注入控制台应用程序

来自分类Dev

通过桌面或控制台应用程序进行Oauth 2认证

来自分类Dev

通过管理控制台部署Struts 2应用程序时出现错误

来自分类Dev

Yii2定义控制台应用程序的环境

来自分类Dev

具有Raspberry Pi 2的Windows IoT上的Visual C ++控制台应用程序

来自分类Dev

ZF2控制台应用程序无法从文件读取数组

来自分类Dev

从控制台应用程序Yii2访问Web文件夹

来自分类Dev

Net Core 2 控制台应用程序 - DI“无法解析类型的服务...”

来自分类Dev

尝试使用通用 HostBuilder 使用 .net core 2 控制台应用程序配置 Serilog

来自分类Dev

为.net核心控制台应用程序创建签名并通知MacOS安装程序

来自分类Dev

跳过 .NET Core 控制台应用程序的依赖项检查

Related 相关文章

  1. 1

    在.NET Core控制台应用程序中为EF Core DbContext服务错误建立了依赖项注入

  2. 2

    使用Autofac将依赖项注入控制台应用程序的Main入口点

  3. 3

    如何在asp.net控制台应用程序中使用依赖项注入?

  4. 4

    使用Autofac将依赖项注入控制台应用程序的Main入口点

  5. 5

    在VB控制台应用程序中为时间添加0

  6. 6

    在控制台应用程序中调用 ExitProcess(0) 不会显示内存泄漏

  7. 7

    依赖项注入在Angular 2入门应用程序中不起作用

  8. 8

    如何在Symfony2控制台应用程序中添加辅助输出?

  9. 9

    如何在Symfony2应用程序中创建控制台命令

  10. 10

    C#值始终为0控制台应用程序

  11. 11

    我的控制台应用程序以代码0退出的原因是什么?

  12. 12

    C#值始终为0控制台应用程序

  13. 13

    Visual Studio Windows 控制台应用程序在从 main() 返回 0 时抛出异常

  14. 14

    尽管发生未处理的异常,控制台应用程序已退出,代码为0(0x0)

  15. 15

    Docker容器中的.net核心控制台应用程序引发System.ObjectDisposedException

  16. 16

    多线程控制台应用程序中的EF核心内存泄漏

  17. 17

    控制台应用程序如何在 Windows 10 核心输出包中添加?

  18. 18

    无法在 Windows Server 2008 R2 中运行 dotnet core 2 控制台应用程序

  19. 19

    伪造/模拟.Net Core依赖注入控制台应用程序

  20. 20

    通过桌面或控制台应用程序进行Oauth 2认证

  21. 21

    通过管理控制台部署Struts 2应用程序时出现错误

  22. 22

    Yii2定义控制台应用程序的环境

  23. 23

    具有Raspberry Pi 2的Windows IoT上的Visual C ++控制台应用程序

  24. 24

    ZF2控制台应用程序无法从文件读取数组

  25. 25

    从控制台应用程序Yii2访问Web文件夹

  26. 26

    Net Core 2 控制台应用程序 - DI“无法解析类型的服务...”

  27. 27

    尝试使用通用 HostBuilder 使用 .net core 2 控制台应用程序配置 Serilog

  28. 28

    为.net核心控制台应用程序创建签名并通知MacOS安装程序

  29. 29

    跳过 .NET Core 控制台应用程序的依赖项检查

热门标签

归档