Update Core

This commit is contained in:
sunkaixuan
2022-05-21 12:23:53 +08:00
parent 97f1f42b09
commit 44c901b45b
2 changed files with 30 additions and 1 deletions

View File

@@ -1932,7 +1932,35 @@ namespace SqlSugar
totalPage = (totalNumber + pageSize - 1) / pageSize;
return result;
}
public virtual string ToSqlString()
{
var sqlObj = this.Clone().ToSql();
var result = sqlObj.Key;
if (result == null) return null;
if (sqlObj.Value != null)
{
foreach (var item in sqlObj.Value.OrderByDescending(it=>it.ParameterName.Length))
{
if (item.Value == null || item.Value == DBNull.Value)
{
result = result.Replace(item.ParameterName, "null");
}
else if (UtilMethods.IsNumber(item.Value.GetType().Name))
{
result = result.Replace(item.ParameterName, item.Value.ObjToString());
}
else if(this.Context.CurrentConnectionConfig.MoreSettings?.DisableNvarchar==true||item.DbType==System.Data.DbType.AnsiString||this.Context.CurrentConnectionConfig.DbType==DbType.Sqlite)
{
result = result.Replace(item.ParameterName, $"'{item.Value.ObjToString()}'");
}
else
{
result = result.Replace(item.ParameterName, $"N'{item.Value.ObjToString()}'");
}
}
}
return result;
}
public virtual KeyValuePair<string, List<SugarParameter>> ToSql()
{
if (!QueryBuilder.IsClone)

View File

@@ -159,6 +159,7 @@ namespace SqlSugar
string ToJsonPage(int pageIndex, int pageSize, ref int totalNumber);
Task<string> ToJsonPageAsync(int pageIndex, int pageSize, RefAsync<int> totalNumber);
KeyValuePair<string, List<SugarParameter>> ToSql();
string ToSqlString();
List<T> ToChildList(Expression<Func<T, object>> parentIdExpression, object primaryKeyValue);
Task<List<T>> ToChildListAsync(Expression<Func<T, object>> parentIdExpression, object primaryKeyValue);
List<T> ToParentList(Expression<Func<T, object>> parentIdExpression, object primaryKeyValue);