【发布时间】:2017-04-20 21:31:18
【问题描述】:
请给我建议。我正在尝试使用 Mysql 服务器数据库在 WPF 中开发 Windows 应用程序。
我必须使用哪种方法在 Mysql 数据库上建立连接?
1) 实体框架 要么 2) ADO.NET 要么 3) 其他的
管理员计算机需要在他的计算机上安装mysql数据库,然后将mysql数据库访问到另一个(10个或更多)网络连接的客户端系统。
这里,只有管理员计算机中的一个 MySql 数据库。并且所有其他客户端机器都通过管理员的计算机 IP 地址访问 MySql 数据库。 IP连接字符串是这样的:-
@"Data Source=10.0.0.101
另一件事是,客户要求,在客户端机器上安装.exe文件时,还必须自动安装mysql服务器数据库(即xampp或其他..)。
我该怎么做?
我已经尝试过,ADO.NET C# 而不是 EF 来连接 mysql 用于 wpf windows 应用程序。像这样:-
public void AddUserList( UserSetUp user)
{
dbConnection.Open();
string query = "INSERT INTO Tble_UserSetUp (FirstName, SurName, Email, PhoneNumber, UserName, Password,Computer_Name,IP_Address,CreatedBy, CreatedDate,IsActive,Function,Department) VALUES (@FirstName, @SurName, @Email, @PhoneNumber, @UserName, @Password,@Computer_Name,@IP_Address,@CreatedBy, @CreatedDate,@IsActive,@Function,@Department)";
MySqlCommand insertSQL = new MySqlCommand(query, (MySqlConnection)dbConnection);
insertSQL.Parameters.AddWithValue("@FirstName", user.FirstName);
insertSQL.Parameters.AddWithValue("@SurName", user.SurName);
insertSQL.Parameters.AddWithValue("@Email", user.Email);
insertSQL.Parameters.AddWithValue("@PhoneNumber", user.PhoneNumber);
insertSQL.Parameters.AddWithValue("@UserName", Encrypt(user.UserName));
insertSQL.Parameters.AddWithValue("@Password", Encrypt(user.Password));
insertSQL.Parameters.AddWithValue("@Computer_Name", user.Computer_Name);
insertSQL.Parameters.AddWithValue("@IP_Address", user.IP_Address);
insertSQL.Parameters.AddWithValue("@CreatedBy", user.CreatedBy);
insertSQL.Parameters.AddWithValue("@CreatedDate", user.CreatedDate);
insertSQL.Parameters.AddWithValue("@IsActive", user.IsActive);
insertSQL.Parameters.AddWithValue("@Function", user.Function);
insertSQL.Parameters.AddWithValue("@Department", user.Department);
try
{
insertSQL.ExecuteNonQuery();
dbConnection.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
使用实体框架或其他框架是个坏主意吗?
【问题讨论】:
-
您可以通过设置先决条件来安装 MySQL,请参阅 social.msdn.microsoft.com/Forums/windows/en-US/… 以获取相同的信息。
-
EF 使用 ADO.NET。 WPF 与数据访问无关。也没有坏掉。与其尝试随机的事情,不如先决定是否需要 ORM。 PS。关于 MySQL 和 ADO.NET 有 LOT 重复的问题
-
顺便说一句,实际问题是什么?事实上,这段文字可以总结为“如何在 .NET 中访问数据库?”
-
@PanagiotisKanavos:你的意思是写这样的代码的 ADO.NET 是从 mysql 向 wpf 应用程序插入和获取数据的唯一方法吗?如果是我打算为 Windows 应用程序遵循这种 ADO.NET 代码样式。这是个好主意吗?
-
@PanagiotisKanavos:我更改了我的问题标签。谢谢你的建议。
标签: c# mysql entity-framework ado.net