请帮我指导一下。我正在尝试使用WPF和Mysql服务器数据库开发Windows应用程序,应该采用哪种方法来建立与Mysql数据库的连接呢?
1) 实体框架 OR 2) ADO.NET OR 3) 其他方法
管理员的计算机需要安装mysql数据库,然后将mysql数据库访问给另外的(10个或更多)客户端系统,它们都处于网络连接状态。
在这里,只有一个MySql数据库位于管理员计算机上。所有其他客户机通过管理员计算机的IP地址访问MySql数据库。IP连接字符串如下所示:
1) 实体框架 OR 2) ADO.NET OR 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);
}
}
使用实体框架或其他类似的技术是不好的选择吗?