Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MigrateAsync正在bin文件夹中创建SQLite数据库 公共静态异步任务主(字符串[]args) { var host=CreateHostBuilder(args.Build(); 使用(var scope=host.Services.CreateScope()) { var services=scope.ServiceProvider; var loggerFactory=services.GetRequiredService(); 尝试 { var context=services.GetRequiredService(); wait context.Database.MigrateAsync(); } 捕获(例外情况除外) { var logger=loggerFactory.CreateLogger(); logger.LogError(例如消息); } } 等待host.RunAsync(); } 公共静态IHostBuilder CreateHostBuilder(字符串[]args)=> Host.CreateDefaultBuilder(args) .UseStartup();_C#_Asp.net Core_.net Core_Entity Framework Core - Fatal编程技术网

C# MigrateAsync正在bin文件夹中创建SQLite数据库 公共静态异步任务主(字符串[]args) { var host=CreateHostBuilder(args.Build(); 使用(var scope=host.Services.CreateScope()) { var services=scope.ServiceProvider; var loggerFactory=services.GetRequiredService(); 尝试 { var context=services.GetRequiredService(); wait context.Database.MigrateAsync(); } 捕获(例外情况除外) { var logger=loggerFactory.CreateLogger(); logger.LogError(例如消息); } } 等待host.RunAsync(); } 公共静态IHostBuilder CreateHostBuilder(字符串[]args)=> Host.CreateDefaultBuilder(args) .UseStartup();

C# MigrateAsync正在bin文件夹中创建SQLite数据库 公共静态异步任务主(字符串[]args) { var host=CreateHostBuilder(args.Build(); 使用(var scope=host.Services.CreateScope()) { var services=scope.ServiceProvider; var loggerFactory=services.GetRequiredService(); 尝试 { var context=services.GetRequiredService(); wait context.Database.MigrateAsync(); } 捕获(例外情况除外) { var logger=loggerFactory.CreateLogger(); logger.LogError(例如消息); } } 等待host.RunAsync(); } 公共静态IHostBuilder CreateHostBuilder(字符串[]args)=> Host.CreateDefaultBuilder(args) .UseStartup();,c#,asp.net-core,.net-core,entity-framework-core,C#,Asp.net Core,.net Core,Entity Framework Core,我有一个控制台应用程序,我想在应用程序启动时将迁移应用到SQLite数据库。我决定用主要的方法来做这件事。但是,当我运行应用程序时,SQLite数据库将在bin文件夹中创建,而不是在控制台应用程序项目(启动项目)中创建 有没有办法告诉我wait context.Database.MigrateAsync()在启动项目中创建它 我在ASP.NET Core中从未遇到过这个问题,但在控制台应用程序中,数据库是在bin文件夹中创建的。您确定它总是放在bin目录中,还是放在当前的工作目录中,您正在启动程

我有一个控制台应用程序,我想在应用程序启动时将迁移应用到SQLite数据库。我决定用主要的方法来做这件事。但是,当我运行应用程序时,SQLite数据库将在bin文件夹中创建,而不是在控制台应用程序项目(启动项目)中创建

有没有办法告诉我wait context.Database.MigrateAsync()在启动项目中创建它


我在ASP.NET Core中从未遇到过这个问题,但在控制台应用程序中,数据库是在bin文件夹中创建的。

您确定它总是放在
bin
目录中,还是放在当前的工作目录中,您正在启动程序,并将
bin
作为当前工作目录?啊,是的,这就是问题所在!我在Rider IDE中运行start按钮,但当我用
dotnet run
启动程序时,它工作了,并将数据库放在启动项目中:)非常感谢,@BenVoigt如果您愿意,您可以将此作为答案发布。
    public static async Task Main(string[] args)
    {
        var host = CreateHostBuilder(args).Build();
        using (var scope = host.Services.CreateScope())
        {
            var services = scope.ServiceProvider;
            var loggerFactory = services.GetRequiredService<ILoggerFactory>();
            try 
            {
                var context = services.GetRequiredService<DiscordBotContext>();
                await context.Database.MigrateAsync();
            }
            catch (Exception ex)
            {
                var logger = loggerFactory.CreateLogger<Program>();
                logger.LogError(ex.Message);
            }
        }

        await host.RunAsync();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseStartup<Startup>();