我想知道将其中一些代码抽象为简单 DAL 的更好方法是什么。目前,我只是在修补代码,现在没有时间或不需要使用 EF、Linq2Sql 或任何 ORM。
public string GetMySpecId(string dataId)
{
using (SqlConnection conn = new SqlConnection(this.MyConnectionString))
{
conn.Open();
// Declare the parameter in the query string
using (SqlCommand command = new SqlCommand(@"select ""specId"" from ""MyTable"" where ""dataId"" = :dataId", conn))
{
// Now add the parameter to the parameter collection of the command specifying its type.
command.Parameters.Add(new SqlParameter("dataId", SqlDbType.Text));
command.Prepare();
// Now, add a value to it and later execute the command as usual.
command.Parameters[0].Value = dataId;
using (SqlDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
specId = dr[0].ToString();
}
}
}
}
return specId;
}
什么是从 GetMySpecId() 中提取连接、命令等的好方法,因为我将拥有大量这些功能并且不想一遍又一遍地编写 using....