我在WinForm
中有一个应用程序,它在本地MySQL
数据库中非常快。
我试图将数据库放在远程服务器中,连接和查询执行的速度确实很慢。
以下是我如何使用Dapper
连接和运行查询的代码:
文件App.config
:
<add name="conTestOnline"
connectionString="Database=database_test;Data Source=test.server.com;User Id=userTest;Password=alan1234;convert zero datetime=True" />
数据库连接类
public class DatabaseConnection:IDisposable
{
public MySqlConnection con { get; private set; }
public DatabaseConnection()
{
OpenConnection();
}
public void OpenConnection(string stringConnection)
{
if (con == null)
{
con = new MySqlConnection(stringConnection);
con.Open();
}
}
public void CloseConnection()
{
con.Close();
}
public void Dispose()
{
CloseConnection();
}
}
使用Dapper执行查询的示例
public static string GetCodeBank(int id)
{
using (DatabaseConnection db = new DatabaseConnection())
{
const string query = @"SELECT code_bank FROM bank WHERE id_bank = @Id";
return db.con.QueryFirstOrDefault<string>(query, new {Id = id});
}
}
查询很简单,但是由于有很多类似的地方,整个程序的速度变慢了。
如示例中所示,每次运行查询时,我都会使用using
打开和关闭数据库连接。