执行dotnet ef迁移命令报错:无法找到VegaContext合适构造函数
解决EF Core迁移时"A suitable constructor..."错误
嘿,这个问题其实很好解决——你的VegaContext构造函数缺了个关键的访问修饰符!
问题出在哪
EF Core执行迁移的时候,需要能实例化你的DbContext类。它会自动寻找带有DbContextOptions<VegaContext>参数的公共构造函数,但你写的构造函数没有加public,默认是私有访问权限,EF Core根本找不到它,所以才会抛出那个找不到合适构造函数的错误。
怎么改
只需要给VegaContext的构造函数加上public修饰符就行:
public class VegaContext : DbContext { // 加上public,让EF Core能访问到这个构造函数 public VegaContext(DbContextOptions<VegaContext> options):base(options) {} public DbSet<Make> Makes { get; set; } }
再试一次
修改完之后,重新跑你的迁移命令:
dotnet ef add migration InitialMigration
这次应该就能顺利创建初始迁移了。
顺带提一句,你Startup里的ConfigureServices配置是没问题的,已经正确注册了DbContext和连接字符串,不用改那部分。
内容的提问来源于stack exchange,提问作者Towhid
相关产品推荐
相关产品推荐

