Update Core

This commit is contained in:
sunkaixuna 2021-08-16 21:05:11 +08:00
parent 7f5542c3e5
commit 1a63ccd707
8 changed files with 59 additions and 17 deletions

View File

@ -14,10 +14,10 @@ namespace SqlSugar
void ChangeDatabase(dynamic configId);
void ChangeDatabase(Func<ConnectionConfig, bool> changeExpression);
DbResult<bool> UseTran(Action action, Action<Exception> errorCallBack = null);
Task<DbResult<bool>> UseTranAsync(Action action, Action<Exception> errorCallBack = null);
Task<DbResult<bool>> UseTranAsync(Func<Task> action, Action<Exception> errorCallBack = null);
DbResult<T> UseTran<T>(Func<T> action, Action<Exception> errorCallBack = null);
Task<DbResult<T>> UseTranAsync<T>(Func<T> action, Action<Exception> errorCallBack = null);
Task<DbResult<T>> UseTranAsync<T>(Func<Task<T>> action, Action<Exception> errorCallBack = null);
void AddConnection(ConnectionConfig connection);
SqlSugarProvider GetConnection(dynamic configId);
bool IsAnyConnection(dynamic configId);

View File

@ -35,7 +35,7 @@ namespace SqlSugar
numeric_scale as Scale,
numeric_scale as DecimalDigits
FROM
Information_schema.columns where TABLE_NAME='{0}' and TABLE_SCHEMA=(select database()) ORDER BY TABLE_NAME";
Information_schema.columns where TABLE_NAME='{0}' and TABLE_SCHEMA=(select database()) ORDER BY ordinal_position";
return sql;
}
}
@ -63,7 +63,7 @@ namespace SqlSugar
{
get
{
return "CREATE DATABASE {0} CHARACTER SET utf8 COLLATE utf8_general_ci ";
return "CREATE DATABASE `{0}` CHARACTER SET utf8 COLLATE utf8_general_ci ";
}
}
protected override string AddPrimaryKeySql
@ -252,7 +252,7 @@ namespace SqlSugar
{
get
{
return "CREATE {3} INDEX Index_{0}_{2} ON {0} ({1})";
return "CREATE {3} INDEX `Index_{0}_{2}` ON `{0}` ({1})";
}
}

View File

@ -3,7 +3,6 @@ using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using Microsoft.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -111,12 +111,12 @@ namespace SqlSugar
new KeyValuePair<string, CSharpDataType>("timestamp",CSharpDataType.DateTime),
new KeyValuePair<string, CSharpDataType>("timestamp with local time zone",CSharpDataType.DateTime),
new KeyValuePair<string, CSharpDataType>("timestamp with time zone",CSharpDataType.DateTime),
new KeyValuePair<string, CSharpDataType>("timestamp with time zone",CSharpDataType.DateTime),
new KeyValuePair<string, CSharpDataType>("float",CSharpDataType.@decimal),
new KeyValuePair<string, CSharpDataType>("blob",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("long raw",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("longraw",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("raw",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("bfile",CSharpDataType.byteArray),
new KeyValuePair<string, CSharpDataType>("varbinary",CSharpDataType.byteArray) };

View File

@ -1,9 +1,8 @@
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using Microsoft.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@ -88,6 +87,7 @@ namespace SqlSugar
sqlCommand.BindByName = true;
sqlCommand.CommandType = this.CommandType;
sqlCommand.CommandTimeout = this.CommandTimeOut;
sqlCommand.InitialLONGFetchSize = -1;
if (this.Transaction != null)
{
sqlCommand.Transaction = (OracleTransaction)this.Transaction;

View File

@ -21,8 +21,10 @@ namespace SqlSugar
{
string sql = @"select cast (pclass.oid as int4) as TableId,cast(ptables.tablename as varchar) as TableName,
pcolumn.column_name as DbColumnName,pcolumn.udt_name as DataType,
pcolumn.character_maximum_length as Length,
CASE WHEN pcolumn.numeric_scale >0 THEN pcolumn.numeric_precision ELSE pcolumn.character_maximum_length END as Length,
pcolumn.column_default as DefaultValue,
pcolumn.numeric_scale as DecimalDigits,
pcolumn.numeric_scale as Scale,
col_description(pclass.oid, pcolumn.ordinal_position) as ColumnDescription,
case when pkey.colname = pcolumn.column_name
then true else false end as IsPrimaryKey,

View File

@ -687,9 +687,29 @@ namespace SqlSugar
return result;
}
public Task<DbResult<bool>> UseTranAsync(Action action, Action<Exception> errorCallBack = null)
public async Task<DbResult<bool>> UseTranAsync(Func<Task> action, Action<Exception> errorCallBack = null)
{
return Task.FromResult(UseTran(action, errorCallBack));
var result = new DbResult<bool>();
try
{
this.BeginTran();
if (action != null)
await action();
this.CommitTran();
result.Data = result.IsSuccess = true;
}
catch (Exception ex)
{
result.ErrorException = ex;
result.ErrorMessage = ex.Message;
result.IsSuccess = false;
this.RollbackTran();
if (errorCallBack != null)
{
errorCallBack(ex);
}
}
return result;
}
public DbResult<T> UseTran<T>(Func<T> action, Action<Exception> errorCallBack = null)
@ -717,9 +737,30 @@ namespace SqlSugar
return result;
}
public Task<DbResult<T>> UseTranAsync<T>(Func<T> action, Action<Exception> errorCallBack = null)
public async Task<DbResult<T>> UseTranAsync<T>(Func<Task<T>> action, Action<Exception> errorCallBack = null)
{
return Task.FromResult(UseTran(action, errorCallBack));
var result = new DbResult<T>();
try
{
this.BeginTran();
T data=default(T);
if (action != null)
data = await action();
this.CommitTran();
result.Data = data;
}
catch (Exception ex)
{
result.ErrorException = ex;
result.ErrorMessage = ex.Message;
result.IsSuccess = false;
this.RollbackTran();
if (errorCallBack != null)
{
errorCallBack(ex);
}
}
return result;
}
public void RollbackTran()

View File

@ -662,12 +662,12 @@ namespace SqlSugar
return ScopedContext.UseTran(action,errorCallBack);
}
public Task<DbResult<bool>> UseTranAsync(Action action, Action<Exception> errorCallBack = null)
public Task<DbResult<bool>> UseTranAsync(Func<Task> action, Action<Exception> errorCallBack = null)
{
return ScopedContext.UseTranAsync(action, errorCallBack);
}
public Task<DbResult<T>> UseTranAsync<T>(Func<T> action, Action<Exception> errorCallBack = null)
public Task<DbResult<T>> UseTranAsync<T>(Func<Task<T>> action, Action<Exception> errorCallBack = null)
{
return ScopedContext.UseTranAsync(action, errorCallBack);
}