MySql ASP.NET 核心项目中的连接字符串错误

MySql Connection String error in ASP.NET Core Project

我正在构建我的第一个 ASP.NET 核心 Web 应用程序,我正在为其使用 MySQL 数据库。 在我使用 EF Core Power Tools 导入 DB-Context 后,我​​将连接字符串保存在 appsettings.json 文件中。

然后我尝试加载实体之一的索引视图 类,但我不断收到以下错误:

ArgumentException: Keyword not supported: 'allowuservariables'.

我试图将 'allowuservariables=true' 排除在连接字符串之外,但随后收到此错误消息:

SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

连接字符串:“server=localhost;user id=root;database=dbname;allowuservariables=True;password=password;persistsecurityinfo=True”

连接字符串有问题还是我缺少识别“allowuservariables”的扩展?

您的连接字符串缺少服务器名称:

"server=;user id=root;database=;allowuservariables=True;password=password;persistsecurityinfo=True"

"server=localhost;user id=root;database=;allowuservariables=True;password=password;persistsecurityinfo=True"

如果服务器是本地主机,否则您需要指定服务器 ip 地址。

代码正在尝试使用 SqlConnection 连接到 MySQL 数据库,这将不起作用。

确保您在 Startup.cs 文件的 ConfigureServices 中调用 UseMySql 而不是 UseSqlServer,因为documented here.

错误消息谈论的是 sql 服务器,而不是 mysql:

SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server.

对我来说,这表明您正在使用 SqlConnection class,它设计用于 MS SQL Server,而不是 mysql。您需要使用 MySqlConnection class 连接到 mysql 实例。