public static IEnumerable<T> ExecuteDataReader<T>(string sql, Func<TdDataReader, T> action)
{
using (var connection = new TdConnection(TDConnstring))
{
connection.Open();
using (var cmd = connection.CreateCommand())
{
cmd.CommandText = sql;
using (var dr = cmd.ExecuteReader())
{
while (dr.Read())
yield return action.Invoke(dr);
}
}
}
}
*如何使用异步任务&gt; reirte * *
public static async Task<IEnumerable<T>> ExecuteDataReaderAsync<T>(string sql, Func<TdDataReader, T> action)
{
using (var connection = new TdConnection(TDConnstring))
{
await connection.OpenAsync();
using (var cmd = connection.CreateCommand())
{
cmd.CommandText = sql;
using (var dr = await cmd.ExecuteReaderAsync())
{
while (await dr.ReadAsync())
{
yield return action.Invoke(dr);
}
}
}
}
}
*错误 严重性代码描述项目文件行抑制状态 错误CS1624'TeraDataHelper.ExecuteDataReaderAsync(string,Func)'的主体不能是迭代器块,因为'Task&gt;'不是迭代器接口类型\ TeraDataHelper.cs 141 Active
*
答案 0 :(得分:0)
得到它
{{1}}