mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-18 17:48:11 +08:00
Update Async validate
This commit is contained in:
@@ -42,9 +42,10 @@ namespace SqlSugar
|
||||
IDeleteable<T> asyncDeleteable = CopyDeleteable();
|
||||
return asyncDeleteable.ExecuteCommand();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public Task<bool> ExecuteCommandHasChangeAsync()
|
||||
{
|
||||
Task<bool> result = new Task<bool>(() =>
|
||||
@@ -52,7 +53,7 @@ namespace SqlSugar
|
||||
IDeleteable<T> asyncDeleteable = CopyDeleteable();
|
||||
return asyncDeleteable.ExecuteCommand() > 0;
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public IDeleteable<T> AS(string tableName)
|
||||
@@ -271,6 +272,14 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
private void TaskStart<Type>(Task<Type> result)
|
||||
{
|
||||
if (this.Context.CurrentConnectionConfig.IsShardSameThread) {
|
||||
Check.Exception(true, "IsShardSameThread=true can't be used async method");
|
||||
}
|
||||
result.Start();
|
||||
}
|
||||
|
||||
private void AutoRemoveDataCache()
|
||||
{
|
||||
var moreSetts = this.Context.CurrentConnectionConfig.MoreSettings;
|
||||
|
@@ -93,7 +93,7 @@ namespace SqlSugar
|
||||
IInsertable<T> asyncInsertable = CopyInsertable();
|
||||
return asyncInsertable.ExecuteCommand();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public Task<int> ExecuteReturnIdentityAsync()
|
||||
@@ -103,7 +103,7 @@ namespace SqlSugar
|
||||
IInsertable<T> asyncInsertable = CopyInsertable();
|
||||
return asyncInsertable.ExecuteReturnIdentity();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public Task<T> ExecuteReturnEntityAsync()
|
||||
@@ -113,7 +113,7 @@ namespace SqlSugar
|
||||
IInsertable<T> asyncInsertable = CopyInsertable();
|
||||
return asyncInsertable.ExecuteReturnEntity();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public Task<bool> ExecuteCommandIdentityIntoEntityAsync()
|
||||
@@ -123,7 +123,7 @@ namespace SqlSugar
|
||||
IInsertable<T> asyncInsertable = CopyInsertable();
|
||||
return asyncInsertable.ExecuteCommandIdentityIntoEntity();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public Task<long> ExecuteReturnBigIdentityAsync()
|
||||
@@ -133,7 +133,7 @@ namespace SqlSugar
|
||||
IInsertable<T> asyncInsertable = CopyInsertable();
|
||||
return asyncInsertable.ExecuteReturnBigIdentity();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
@@ -327,6 +327,14 @@ namespace SqlSugar
|
||||
return this.EntityInfo.Columns.Where(it => it.IsIdentity).Select(it => it.DbColumnName).ToList();
|
||||
}
|
||||
}
|
||||
private void TaskStart<Type>(Task<Type> result)
|
||||
{
|
||||
if (this.Context.CurrentConnectionConfig.IsShardSameThread)
|
||||
{
|
||||
Check.Exception(true, "IsShardSameThread=true can't be used async method");
|
||||
}
|
||||
result.Start();
|
||||
}
|
||||
protected void RestoreMapping()
|
||||
{
|
||||
if (IsAs)
|
||||
|
@@ -658,7 +658,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Single();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -669,7 +669,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Single(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -680,7 +680,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.First();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -691,7 +691,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.First(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -702,7 +702,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Any(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -713,7 +713,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Any();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -724,7 +724,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Count();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public Task<int> CountAsync(Expression<Func<T, bool>> expression)
|
||||
@@ -734,7 +734,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Count(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result); ;
|
||||
return result;
|
||||
}
|
||||
public Task<TResult> MaxAsync<TResult>(string maxField)
|
||||
@@ -744,7 +744,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Max<TResult>(maxField);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -755,7 +755,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Max<TResult>(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -766,7 +766,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Min<TResult>(minField);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -777,7 +777,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Min<TResult>(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -788,7 +788,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Sum<TResult>(sumField);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -799,7 +799,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Sum<TResult>(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -810,7 +810,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Avg<TResult>(avgField);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -821,7 +821,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.Avg<TResult>(expression);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -832,7 +832,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.ToList();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -843,7 +843,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.ToJson();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -854,7 +854,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.ToJsonPage(pageIndex, pageSize);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -867,7 +867,7 @@ namespace SqlSugar
|
||||
var list = asyncQueryable.ToJsonPage(pageIndex, pageSize, ref totalNumberAsync);
|
||||
return new KeyValuePair<string, int>(list, totalNumberAsync);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -878,7 +878,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.ToDataTable();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -889,7 +889,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.ToDataTablePage(pageIndex, pageSize);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -902,7 +902,7 @@ namespace SqlSugar
|
||||
var list = asyncQueryable.ToDataTablePage(pageIndex, pageSize, ref totalNumberAsync);
|
||||
return new KeyValuePair<DataTable, int>(list, totalNumberAsync);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -913,7 +913,7 @@ namespace SqlSugar
|
||||
ISugarQueryable<T> asyncQueryable = CopyQueryable();
|
||||
return asyncQueryable.ToPageList(pageIndex, pageSize);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -926,12 +926,20 @@ namespace SqlSugar
|
||||
var list = asyncQueryable.ToPageList(pageIndex, pageSize, ref totalNumberAsync);
|
||||
return new KeyValuePair<List<T>, int>(list, totalNumberAsync);
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Private Methods
|
||||
private void TaskStart<Type>(Task<Type> result)
|
||||
{
|
||||
if (this.Context.CurrentConnectionConfig.IsShardSameThread)
|
||||
{
|
||||
Check.Exception(true, "IsShardSameThread=true can't be used async method");
|
||||
}
|
||||
result.Start();
|
||||
}
|
||||
protected ISugarQueryable<TResult> _Select<TResult>(Expression expression)
|
||||
{
|
||||
var reval = InstanceFactory.GetQueryable<TResult>(this.Context.CurrentConnectionConfig);
|
||||
|
@@ -45,7 +45,7 @@ namespace SqlSugar
|
||||
IUpdateable<T> asyncUpdateable = CopyUpdateable();
|
||||
return asyncUpdateable.ExecuteCommand();
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public Task<bool> ExecuteCommandHasChangeAsync()
|
||||
@@ -55,7 +55,7 @@ namespace SqlSugar
|
||||
IUpdateable<T> asyncUpdateable = CopyUpdateable();
|
||||
return asyncUpdateable.ExecuteCommand() > 0;
|
||||
});
|
||||
result.Start();
|
||||
TaskStart(result);
|
||||
return result;
|
||||
}
|
||||
public IUpdateable<T> AS(string tableName)
|
||||
@@ -355,6 +355,14 @@ namespace SqlSugar
|
||||
this.Context.MappingTables = OldMappingTableList;
|
||||
}
|
||||
}
|
||||
private void TaskStart<Type>(Task<Type> result)
|
||||
{
|
||||
if (this.Context.CurrentConnectionConfig.IsShardSameThread)
|
||||
{
|
||||
Check.Exception(true, "IsShardSameThread=true can't be used async method");
|
||||
}
|
||||
result.Start();
|
||||
}
|
||||
private IUpdateable<T> CopyUpdateable()
|
||||
{
|
||||
var asyncContext = this.Context.Utilities.CopyContext(true);
|
||||
|
Reference in New Issue
Block a user