根据这个博客帖子,CreateDbContext(string[] args)方法可以接受来自dotnet ef cli的参数。
这是我的代码;我想将连接字符串从cli作为自定义参数传递。
public AppDbContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>();
var connStr = args[0];
optionsBuilder.UseSqlServer(connStr);
return new AppDbContext(optionsBuilder.Options);
}现在,当我用命令dotnet ef database update -- --constr Server=localhost;Database=DotNetSixPoc2;User Id=sa;Password=P@ssw0rd!;从cli传递这个参数时
我得到以下错误。
初始化字符串的格式不符合从索引0开始的规范。
请帮帮忙。谢谢
发布于 2022-07-13 13:03:12
好的,最后经过试验和错误,得到了这个工作。它的正确语法是dotnet ef database update -- 'Server=localhost;Database=DotNetSixPoc2;User Id=sa;Password=P@ssw0rd!;'。
简而言之,您不需要参数的名称。这份正式文件具有误导性。
https://stackoverflow.com/questions/72866884
复制相似问题