[英]How to convert sqlDataReader to Task async
我有以下代码-任何人都可以告诉我是否可以使它异步执行
public MDTO GetIe(MDTO dtoItem)
{
string[] Tables = new string[] { "C", "CValue", "SP", "Ar", "P", "CR", "QC", "SR" };
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["tESTp"].ConnectionString))
{
using (SqlCommand command = new SqlCommand("GetItem", connection))
{
DataSet Result = new DataSet();
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@ProjectId", SqlDbType.VarChar);
command.Parameters["@ProjectId"].Value = dtoItem.ProjectId;
connection.Open();
Result.EnforceConstraints = false;
Result.Load(command.ExecuteReader(CommandBehavior.CloseConnection), LoadOption.OverwriteChanges, Tables);
dtoItem.SR = Result;
}
}
return dtoItem;
}
将您的命令。ExecuteReader更改为异步版本:
public async Task<MDTO> GetIeAsync(MDTO dtoItem)
{
...
connection.Open();
Result.EnforceConstraints = false;
SqlDataReader dataReader = await command.ExecuteReaderAsync(CommandBehavior.CloseConnection);
Result.Load(dataReader, LoadOption.OverwriteChanges, Tables);
dtoItem.SR = Result;
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.