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);
|
pageIndex = _PageList(pageIndex, pageSize);
|
||||||
return ToListAsync();
|
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()
|
public async Task<string> ToJsonAsync()
|
||||||
{
|
{
|
||||||
if (IsCache)
|
if (IsCache)
|
||||||
@ -1012,39 +1017,41 @@ namespace SqlSugar
|
|||||||
return this.Context.Utilities.SerializeObject(await this.ToListAsync(), typeof(T));
|
return this.Context.Utilities.SerializeObject(await this.ToListAsync(), typeof(T));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> ToJsonPageAsync(int pageIndex, int pageSize)
|
public async Task<string> ToJsonPageAsync(int pageIndex, int pageSize)
|
||||||
{
|
{
|
||||||
return this.Context.Utilities.SerializeObject(await this.ToPageListAsync(pageIndex, pageSize), typeof(T));
|
return this.Context.Utilities.SerializeObject(await this.ToPageListAsync(pageIndex, pageSize), typeof(T));
|
||||||
}
|
}
|
||||||
|
public async Task<string> ToJsonPageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber)
|
||||||
public Task<string> ToJsonPageAsync(int pageIndex, int pageSize, ref int totalNumber)
|
|
||||||
{
|
{
|
||||||
//False asynchrony with ref
|
totalNumber = await this.Clone().CountAsync();
|
||||||
return Task.FromResult(ToJsonPage(pageIndex, pageSize, ref totalNumber));
|
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
|
InitMapping();
|
||||||
return Task.FromResult(ToPageList(pageIndex, pageSize, ref totalNumber));
|
var sqlObj = this.ToSql();
|
||||||
}
|
RestoreMapping();
|
||||||
|
DataTable result = null;
|
||||||
public Task<DataTable> ToDataTableAsync()
|
if (IsCache)
|
||||||
{
|
{
|
||||||
//False asynchrony with dataTable
|
var cacheService = this.Context.CurrentConnectionConfig.ConfigureExternalServices.DataInfoCacheService;
|
||||||
return Task.FromResult(ToDataTable());
|
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)
|
public Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize)
|
||||||
{
|
{
|
||||||
//False asynchrony with dataTable
|
pageIndex = _PageList(pageIndex, pageSize);
|
||||||
return Task.FromResult(ToDataTablePage(pageIndex, pageSize));
|
return ToDataTableAsync();
|
||||||
}
|
}
|
||||||
|
public async Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber)
|
||||||
public Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize, ref int totalNumber)
|
|
||||||
{
|
{
|
||||||
//False asynchrony with dataTable
|
totalNumber = await this.Clone().CountAsync();
|
||||||
return Task.FromResult(ToDataTablePage(pageIndex, pageSize, ref totalNumber));
|
return await this.Clone().ToDataTablePageAsync(pageIndex, pageSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#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);
|
string ToJsonPage(int pageIndex, int pageSize);
|
||||||
Task<string> ToJsonPageAsync(int pageIndex, int pageSize);
|
Task<string> ToJsonPageAsync(int pageIndex, int pageSize);
|
||||||
string ToJsonPage(int pageIndex, int pageSize, ref int totalNumber);
|
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();
|
KeyValuePair<string, List<SugarParameter>> ToSql();
|
||||||
|
|
||||||
|
|
||||||
@ -139,13 +139,13 @@ namespace SqlSugar
|
|||||||
Task<DataTable> ToDataTablePageAsync(int pageIndex, int pageSize);
|
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);
|
||||||
DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage);
|
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);
|
List<T> ToPageList(int pageIndex, int pageSize);
|
||||||
Task<List<T>> ToPageListAsync(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);
|
||||||
List<T> ToPageList(int pageIndex, int pageSize, ref int totalNumber,ref int totalPage);
|
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> WithCache(int cacheDurationInSeconds = int.MaxValue);
|
||||||
ISugarQueryable<T> WithCacheIF(bool isCache, int cacheDurationInSeconds = int.MaxValue);
|
ISugarQueryable<T> WithCacheIF(bool isCache, int cacheDurationInSeconds = int.MaxValue);
|
||||||
string ToClassString(string className);
|
string ToClassString(string className);
|
||||||
|
@ -129,7 +129,7 @@ namespace SqlSugar
|
|||||||
sqlParameter.Size = parameter.Size;
|
sqlParameter.Size = parameter.Size;
|
||||||
sqlParameter.Value = parameter.Value;
|
sqlParameter.Value = parameter.Value;
|
||||||
sqlParameter.DbType = parameter.DbType;
|
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);
|
var date = Convert.ToDateTime(sqlParameter.Value);
|
||||||
if (date==DateTime.MinValue)
|
if (date==DateTime.MinValue)
|
||||||
|
@ -83,6 +83,7 @@
|
|||||||
<Compile Include="Abstract\SaveableProvider\SaveableProvider.cs" />
|
<Compile Include="Abstract\SaveableProvider\SaveableProvider.cs" />
|
||||||
<Compile Include="CacheScheme\CacheKeyBuider.cs" />
|
<Compile Include="CacheScheme\CacheKeyBuider.cs" />
|
||||||
<Compile Include="CacheScheme\CacheSchemeMain.cs" />
|
<Compile Include="CacheScheme\CacheSchemeMain.cs" />
|
||||||
|
<Compile Include="Entities\AsyncRef.cs" />
|
||||||
<Compile Include="Entities\CacheKey.cs" />
|
<Compile Include="Entities\CacheKey.cs" />
|
||||||
<Compile Include="Entities\SugarTerant.cs" />
|
<Compile Include="Entities\SugarTerant.cs" />
|
||||||
<Compile Include="Entities\ConditionalModel.cs" />
|
<Compile Include="Entities\ConditionalModel.cs" />
|
||||||
|
Loading…
Reference in New Issue
Block a user