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

使用Entity Framework连接SQL Server时遇网络连接错误求助

问题分析与解决方案

你的核心问题是Entity Framework配置的数据库驱动与实际使用的数据库不匹配:

  • 你调用的UseSqlServer()是专门用于连接微软SQL Server数据库的方法,但你实际使用的是phpMyAdmin管理的MySQL数据库,这直接导致了连接失败错误。

解决步骤

1. 安装MySQL对应的EF Core驱动包

通过NuGet包管理器安装适配的MySQL EF Core组件:

  • 包管理器控制台命令:
    Install-Package Microsoft.EntityFrameworkCore.MySql
    
  • .NET CLI命令:
    dotnet add package Microsoft.EntityFrameworkCore.MySql
    

注意:请确保安装的包版本与你项目中EF Core的主版本一致(比如EF Core 6对应MySql包6.x版本)。

2. 修改DbContext的数据库配置代码

将原本的UseSqlServer()替换为UseMySql(),并调整MySQL格式的连接字符串:

public DbSet<User> Users { get; set; }
public DbSet<Ranked> Rankeds { get; set; }
public DbSet<Round> Rounds { get; set; }
public DbSet<Game> Games { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    // 替换为MySQL连接字符串,参数对应你学校数据库的实际信息
    optionsBuilder.UseMySql("Server=myServer;Database=myDB;Uid=你的数据库用户名;Pwd=你的数据库密码;SslMode=Required;", 
        new MySqlServerVersion(new Version(8, 0, 23))); // 替换为你学校MySQL的实际版本号
}

连接字符串参数说明:

  • Server:学校数据库的地址(IP或域名)
  • Uid:数据库登录用户名(你之前写的Uid=myDB大概率是错误的,需改为你使用了一年的正确用户名)
  • SslMode:根据学校数据库的SSL要求调整,可选Required/None等

3. 重新执行迁移命令

修改完成后,重新运行:

update-database

额外排查点

  • 确认连接字符串中所有参数(地址、用户名、密码、数据库名)与你之前使用的查询工具完全一致
  • 确保项目网络环境可正常访问学校数据库(比如是否需要连接校园网或VPN,你之前能正常操作,这点大概率没问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 20:40:29