mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 13:34:32 +08:00
Update Async
This commit is contained in:
parent
4e1c01a9e5
commit
a029e15696
@ -996,6 +996,11 @@ namespace SqlSugar
|
||||
pageIndex = _PageList(pageIndex, pageSize);
|
||||
return ToListAsync();
|
||||
}
|
||||
public async Task<List<T>> ToPageListAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber)
|
||||
{
|
||||
totalNumber = await this.Clone().CountAsync();
|
||||
return await this.Clone().ToPageListAsync(pageIndex, pageSize);
|
||||
}
|
||||
public async Task<string> ToJsonAsync()
|
||||
{
|
||||
if (IsCache)
|
||||
@ -1012,39 +1017,41 @@ namespace SqlSugar
|
||||
return this.Context.Utilities.SerializeObject(await this.ToListAsync(), typeof(T));
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> ToJsonPageAsync(int pageIndex, int pageSize)
|
||||
{
|
||||
return this.Context.Utilities.SerializeObject(await this.ToPageListAsync(pageIndex, pageSize), typeof(T));
|
||||
}
|
||||
|
||||
public Task<string> ToJsonPageAsync(int pageIndex, int pageSize, ref int totalNumber)
|
||||
public async Task<string> ToJsonPageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber)
|
||||
{
|
||||
//False asynchrony with ref
|
||||
return Task.FromResult(ToJsonPage(pageIndex, pageSize, ref totalNumber));
|
||||
totalNumber = await this.Clone().CountAsync();
|
||||
return await this.Clone().ToJsonPageAsync(pageIndex, pageSize);
|
||||
}
|
||||
public Task<List<T>> ToPageListAsync(int pageIndex, int pageSize, ref int totalNumber)
|
||||
public async Task<DataTable> ToDataTableAsync()
|
||||
{
|
||||
//False asynchrony with ref
|
||||
return Task.FromResult(ToPageList(pageIndex, pageSize, ref totalNumber));
|
||||
}
|
||||
|
||||
public Task<DataTable> ToDataTableAsync()
|
||||
InitMapping();
|
||||
var sqlObj = this.ToSql();
|
||||
RestoreMapping();
|
||||
DataTable result = null;
|
||||
if (IsCache)
|
||||
{
|
||||
//False asynchrony with dataTable
|
||||
return Task.FromResult(ToDataTable());
|
||||
var cacheService = this.Context.CurrentConnectionConfig.ConfigureExternalServices.DataInfoCacheService;
|
||||
result = CacheSchemeMain.GetOrCreate<DataTable>(cacheService, this.QueryBuilder, () => { return this.Db.GetDataTable(sqlObj.Key, sqlObj.Value.ToArray()); }, CacheTime, this.Context);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await this.Db.GetDataTableAsync(sqlObj.Key, sqlObj.Value.ToArray());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize)
|
||||
{
|
||||
//False asynchrony with dataTable
|
||||
return Task.FromResult(ToDataTablePage(pageIndex, pageSize));
|
||||
pageIndex = _PageList(pageIndex, pageSize);
|
||||
return ToDataTableAsync();
|
||||
}
|
||||
|
||||
public Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize, ref int totalNumber)
|
||||
public async Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber)
|
||||
{
|
||||
//False asynchrony with dataTable
|
||||
return Task.FromResult(ToDataTablePage(pageIndex, pageSize, ref totalNumber));
|
||||
totalNumber = await this.Clone().CountAsync();
|
||||
return await this.Clone().ToDataTablePageAsync(pageIndex, pageSize);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
22
Src/Asp.Net/SqlSugar/Entities/AsyncRef.cs
Normal file
22
Src/Asp.Net/SqlSugar/Entities/AsyncRef.cs
Normal file
@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public class RefAsync<T>
|
||||
{
|
||||
public RefAsync() { }
|
||||
public RefAsync(T value) { Value = value; }
|
||||
public T Value { get; set; }
|
||||
public override string ToString()
|
||||
{
|
||||
T value = Value;
|
||||
return value == null ? "" : value.ToString();
|
||||
}
|
||||
public static implicit operator T(RefAsync<T> r) { return r.Value; }
|
||||
public static implicit operator RefAsync<T>(T value) { return new RefAsync<T>(value); }
|
||||
}
|
||||
}
|
@ -129,7 +129,7 @@ namespace SqlSugar
|
||||
string ToJsonPage(int pageIndex, int pageSize);
|
||||
Task<string> ToJsonPageAsync(int pageIndex, int pageSize);
|
||||
string ToJsonPage(int pageIndex, int pageSize, ref int totalNumber);
|
||||
Task<string> ToJsonPageAsync(int pageIndex, int pageSize,ref int totalNumber);
|
||||
Task<string> ToJsonPageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber);
|
||||
KeyValuePair<string, List<SugarParameter>> ToSql();
|
||||
|
||||
|
||||
@ -139,13 +139,13 @@ namespace SqlSugar
|
||||
Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize);
|
||||
DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber);
|
||||
DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage);
|
||||
Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize,ref int totalNumber);
|
||||
Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber);
|
||||
|
||||
List<T> ToPageList(int pageIndex, int pageSize);
|
||||
Task<List<T>> ToPageListAsync(int pageIndex, int pageSize);
|
||||
List<T> ToPageList(int pageIndex, int pageSize, ref int totalNumber);
|
||||
List<T> ToPageList(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage);
|
||||
Task<List<T>> ToPageListAsync(int pageIndex, int pageSize,ref int totalNumber);
|
||||
Task<List<T>> ToPageListAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber);
|
||||
ISugarQueryable<T> WithCache(int cacheDurationInSeconds = int.MaxValue);
|
||||
ISugarQueryable<T> WithCacheIF(bool isCache, int cacheDurationInSeconds = int.MaxValue);
|
||||
string ToClassString(string className);
|
||||
|
@ -129,7 +129,7 @@ namespace SqlSugar
|
||||
sqlParameter.Size = parameter.Size;
|
||||
sqlParameter.Value = parameter.Value;
|
||||
sqlParameter.DbType = parameter.DbType;
|
||||
if (sqlParameter.Value!=null&&sqlParameter.DbType == System.Data.DbType.DateTime)
|
||||
if (sqlParameter.Value!=null&& sqlParameter.Value != DBNull.Value && sqlParameter.DbType == System.Data.DbType.DateTime)
|
||||
{
|
||||
var date = Convert.ToDateTime(sqlParameter.Value);
|
||||
if (date==DateTime.MinValue)
|
||||
|
@ -83,6 +83,7 @@
|
||||
<Compile Include="Abstract\SaveableProvider\SaveableProvider.cs" />
|
||||
<Compile Include="CacheScheme\CacheKeyBuider.cs" />
|
||||
<Compile Include="CacheScheme\CacheSchemeMain.cs" />
|
||||
<Compile Include="Entities\AsyncRef.cs" />
|
||||
<Compile Include="Entities\CacheKey.cs" />
|
||||
<Compile Include="Entities\SugarTerant.cs" />
|
||||
<Compile Include="Entities\ConditionalModel.cs" />
|
||||
|
Loading…
Reference in New Issue
Block a user