为什么ASP.NET MVC
项目 不能链接到 Mysql
数据库?
项目环境:
名称 | 版本 |
---|---|
Visual Studio 2022 | 社区版 |
NET | 6.0.203 |
SQL Server | 2019-docker |
Mysql | 8.0-docker |
ASP.NET MVC | -- |
问题描述:
我想让该项目使用 mysql
这个数据库,但运行后会显示一个 Option not supported. (Parameter 'post')
(如图)
调用/控制器:
public IActionResult DemoUser()
{
DataTable demoList = MysqlLink.query_Select("SELECT * FROM demoUser");
ViewData["demo"] = demoList;
return View();
}
// MysqlLink 是一个数据链接的上下文类
// query_Select 是一个专用于执行查询语句的上下文方法
数据链接上下文代码:
using MySql.Data.MySqlClient;
using System.Data;
using MySql.Data.EntityFramework;
using System.Data.Entity;
namespace test.comon
{
public class MysqlLink
{
public MysqlLink()
{
}
static MySqlConnection createConn()
{
String linkArg = "server=localhost;post=3307;user id=root;password=123456;database=demo";
Console.WriteLine(linkArg);
MySqlConnection conn = new MySqlConnection(linkArg);
return conn;
}
//查询 - 接收 一个 Sql 语句(String:Select)
public static DataTable query_Select(string selectSql) {
MySqlConnection myconn = MysqlLink.createConn();
MySqlDataAdapter myda = new MySqlDataAdapter(selectSql, myconn);
DataSet myds = new DataSet();
myconn.Open();
myda.Fill(myds, "demo");
myconn.Close();
return myds.Tables["demo"];
}
//操作 - 接收一个 SQL 语句(String:支持Update/Delect/Insert)
public static int query_operate(string operateSql) {
MySqlConnection myconn = MysqlLink.createConn();
MySqlCommand mycomm = new MySqlCommand(operateSql, myconn);
int c;
myconn.Open(); // 打开链接
c = mycomm.ExecuteNonQuery(); //执行 Sql
myconn.Close(); //关闭链接
return c; // 返回 Sql 操作 所影响的记录
}
//End-----------Code
}
}
这个应该如何解决?
项目已经载入了NuGet
程序包(清单列表如下)
NuGet 程序包 | 版本 |
---|---|
Mysql.Data | 8.0.29 |
MySql.Data.EntityFramework | 8.0.29 |
链接字符串参数如下
链接字符串 | 参数值 |
---|---|
Mysql 链接字符串 | "server=localhost;post=3307;user id=root;password=123456;database=demo" |
补充描述:
- 我的项目
ASP.NET MVC
没有Startup.cs
文件 - 只有一个
application.json
文件,该文件也写入了链接字符串(参数同上) Sql Server
和Mysql
这两个数据库容器都已启动,均有相关数据库和表- 项目如果改用
Sql Server
是完全没有任何问题的,不确定是不是NET 6
禁用了这个操作?有知情的朋友愿意讲解下嘛?