You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 9 Blazor项目执行Update-Database时MySQL连接报错排查

问题分析:EF Core Update-Database执行报错(数据库/服务器信息为空)

执行Update-Database命令时出现以下错误:

fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
An error occurred using the connection to database '' on server ''

这个报错确实说明EF Core未能识别并解析出连接字符串中的数据库名称和服务器地址,错误信息里的空值就是直接体现。

已安装的NuGet包配置

<ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0">
        <PrivateAssets>all</PrivateAssets>
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0" />
    <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
</ItemGroup>

appsettings.json中的连接字符串配置

"ConnectionStrings": {
    "DefaultConnection": "Server=x.x.x.x;Port=3306;Database=DB_Cours;User=UserCours;Password=12345678";Trusted_Connection=True;MultipleActiveResultSets=true
},

问题排查与修复方案

  1. 连接字符串语法错误:
    当前连接字符串存在格式错误——Password=12345678后面多了一个闭合双引号,导致后续的Trusted_Connection等参数被排除在连接字符串之外,EF Core只能读取到不完整的连接信息,进而无法识别服务器和数据库。
    修正后的连接字符串:

    "ConnectionStrings": {
        "DefaultConnection": "Server=x.x.x.x;Port=3306;Database=DB_Cours;User=UserCours;Password=12345678;Trusted_Connection=True;MultipleActiveResultSets=true"
    },
    
  2. NuGet包版本不兼容:
    .NET 9对应的Pomelo.EntityFrameworkCore.MySql版本应为9.x系列(目前为预览版),当前使用的8.0.2是适配.NET 8的版本,版本不匹配可能引发连接解析或其他运行时异常。
    解决方式:

    • 升级Pomelo.EntityFrameworkCore.MySql到适配.NET 9的版本,例如9.0.0-preview.1;
    • 若暂时无法使用预览版,可将项目降级到.NET 8,保持与Pomelo 8.0.2版本兼容。

内容的提问来源于stack exchange,提问作者JBD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 11:12:21