繁体   English   中英

如何将sqlDataReader转换为Task异步

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM