DataReaderToSelectArrayListAsync

This commit is contained in:
sunkaixuan
2022-11-08 19:34:03 +08:00
parent f02ad140bc
commit 7eb1373176
3 changed files with 25 additions and 0 deletions

View File

@@ -1229,6 +1229,10 @@ namespace SqlSugar
{
result = await this.Context.Utilities.DataReaderToSelectJsonListAsync<TResult>(dataReader);
}
else if (QueryBuilder.IsSelectSingleFiledArray)
{
result =await this.Context.Utilities.DataReaderToSelectArrayListAsync<TResult>(dataReader);
}
else if (entityType.IsAnonymousType() || isComplexModel)
{
result = await this.Context.Utilities.DataReaderToListAsync<TResult>(dataReader);

View File

@@ -316,6 +316,26 @@ namespace SqlSugar
}
return result;
}
public async Task<List<T>> DataReaderToSelectArrayListAsync<T>(IDataReader dataReader)
{
List<T> result = new List<T>();
using (dataReader)
{
while (await ((DbDataReader)dataReader).ReadAsync())
{
var value = dataReader.GetValue(0);
if (value == null || value == DBNull.Value)
{
result.Add(default(T));
}
else
{
result.Add((T)value);
}
}
}
return result;
}
/// <summary>
/// DataReaderToList

View File

@@ -19,6 +19,7 @@ namespace SqlSugar
List<T> DataReaderToList<T>(IDataReader reader);
List<T> DataReaderToSelectJsonList<T>(IDataReader reader);
List<T> DataReaderToSelectArrayList<T>(IDataReader reader);
Task<List<T>> DataReaderToSelectArrayListAsync<T>(IDataReader reader);
Task<List<T>> DataReaderToSelectJsonListAsync<T>(IDataReader reader);
List<T> DataReaderToListNoUsing<T>(IDataReader reader);
Task<List<T>> DataReaderToListAsync<T>(IDataReader dataReader);