我尝试进行第一次迁移,但出现此错误。
我用了:
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