entity-framework - 无法创建“AppContext”类型的对象。使用详细但

我尝试进行第一次迁移,但出现此错误。

我用了:

dotnet ef migrations add initial --project AppProject.Core --verbose

错误:

Finding application service provider in assembly 'AppProject.Core'...
Finding Microsoft.Extensions.Hosting service provider...
-> No static method 'CreateHostBuilder(string[])' was found on class 'Program'.
-> No application service provider was found.
Finding DbContext classes in the project...
Found DbContext 'AppContext'.
Microsoft.EntityFrameworkCore.Design.OperationException: Unable to create an object of type 'AppContext'.

我的程序.cs

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

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

我的创业

services.AddDbContext<AppContext>(options =>
{
        options.UseNpgsql(connection);
});

services.AddIdentity<User, IdentityRole<Guid>>()
        .AddEntityFrameworkStores<SysFishingContext>()
        .AddDefaultTokenProviders();

我不明白有什么问题。请有人帮助我。

回答1

尝试指定两个选项 --project--startup-project

-p|--project <PROJECT>

这是 DbContext 所在的项目。

-s|--startup-project <PROJECT>

这是具有依赖注入设置的项目,通常是 Web 项目。

您的 migrations add 命令可能如下所示:

dotnet ef migrations add initial --startup-project AppProject.Web --project AppProject.Core --verbose

相似文章

最新文章