EF Core 6.0.8执行Update-Database报错:不支持指定LocalDB关键字
解决EF Core Update-Database时抛出"Keyword not supported: 'server:(localdb)\mssqllocaldb;database'"异常
以下是可能的问题点及对应解决方法:
连接字符串转义错误
在JSON格式的appsettings.json中,反斜杠\是转义字符,必须写成双反斜杠\\才能被正确解析。你的连接字符串中(LocalDB)\MSSQLLocalDB需改为(LocalDB)\\MSSQLLocalDB,正确配置结构如下:{ "ConnectionStrings": { "BulkyConnection": "Server=(LocalDB)\\MSSQLLocalDB;Database=Bulky;Trusted_Connection=True;" } }DbContext注册时配置读取错误
确保在Program.cs中正确读取连接字符串,避免错误读取整个配置节点或传递无效内容。正确注册示例:builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("BulkyConnection")));或通过配置路径直接读取:
builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(builder.Configuration["ConnectionStrings:BulkyConnection"]));硬编码连接字符串的语法错误
如果你的DbContext在OnConfiguring方法中硬编码了连接字符串,检查是否误用冒号:代替等号=(比如写成Server:(LocalDB)...),同时注意C#字符串的转义规则:protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // 使用@符号避免转义,或使用双反斜杠 optionsBuilder.UseSqlServer(@"Server=(LocalDB)\MSSQLLocalDB;Database=Bulky;Trusted_Connection=True;"); }Package Manager Console命令参数错误
执行Update-Database时,不要手动附加格式错误的连接字符串参数,确保命令使用项目配置中的正确连接字符串。
内容的提问来源于stack exchange,提问作者Nada Sulaiman
相关产品推荐
相关产品推荐

