mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-23 04:23:47 +08:00
Add ToSqlString
This commit is contained in:
@@ -442,7 +442,14 @@ namespace SqlSugar
|
|||||||
DeleteBuilder.TableWithString = lockString;
|
DeleteBuilder.TableWithString = lockString;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
public virtual string ToSqlString()
|
||||||
|
{
|
||||||
|
var sqlObj = this.ToSql();
|
||||||
|
var result = sqlObj.Key;
|
||||||
|
if (result == null) return null;
|
||||||
|
result = UtilMethods.GetSqlString(this.Context.CurrentConnectionConfig, sqlObj, result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
||||||
{
|
{
|
||||||
DeleteBuilder.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo<T>();
|
DeleteBuilder.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo<T>();
|
||||||
|
@@ -53,6 +53,14 @@ namespace SqlSugar
|
|||||||
After(sql, null);
|
After(sql, null);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
public virtual string ToSqlString()
|
||||||
|
{
|
||||||
|
var sqlObj = this.ToSql();
|
||||||
|
var result = sqlObj.Key;
|
||||||
|
if (result == null) return null;
|
||||||
|
result = UtilMethods.GetSqlString(this.Context.CurrentConnectionConfig, sqlObj, result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
public virtual KeyValuePair<string, List<SugarParameter>> ToSql()
|
public virtual KeyValuePair<string, List<SugarParameter>> ToSql()
|
||||||
{
|
{
|
||||||
InsertBuilder.IsReturnIdentity = true;
|
InsertBuilder.IsReturnIdentity = true;
|
||||||
|
@@ -1932,35 +1932,16 @@ namespace SqlSugar
|
|||||||
totalPage = (totalNumber + pageSize - 1) / pageSize;
|
totalPage = (totalNumber + pageSize - 1) / pageSize;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
public virtual string ToSqlString()
|
public virtual string ToSqlString()
|
||||||
{
|
{
|
||||||
var sqlObj = this.Clone().ToSql();
|
var sqlObj = this.Clone().ToSql();
|
||||||
var result = sqlObj.Key;
|
var result = sqlObj.Key;
|
||||||
if (result == null) return null;
|
if (result == null) return null;
|
||||||
if (sqlObj.Value != null)
|
result = UtilMethods.GetSqlString(this.Context.CurrentConnectionConfig,sqlObj, result);
|
||||||
{
|
|
||||||
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public virtual KeyValuePair<string, List<SugarParameter>> ToSql()
|
public virtual KeyValuePair<string, List<SugarParameter>> ToSql()
|
||||||
{
|
{
|
||||||
if (!QueryBuilder.IsClone)
|
if (!QueryBuilder.IsClone)
|
||||||
|
@@ -38,6 +38,14 @@ namespace SqlSugar
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Core
|
#region Core
|
||||||
|
public virtual string ToSqlString()
|
||||||
|
{
|
||||||
|
var sqlObj = this.ToSql();
|
||||||
|
var result = sqlObj.Key;
|
||||||
|
if (result == null) return null;
|
||||||
|
result = UtilMethods.GetSqlString(this.Context.CurrentConnectionConfig, sqlObj, result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
||||||
{
|
{
|
||||||
|
@@ -36,6 +36,7 @@ namespace SqlSugar
|
|||||||
IDeleteable<T> RemoveDataCache();
|
IDeleteable<T> RemoveDataCache();
|
||||||
IDeleteable<T> RemoveDataCache(string likeString);
|
IDeleteable<T> RemoveDataCache(string likeString);
|
||||||
KeyValuePair<string, List<SugarParameter>> ToSql();
|
KeyValuePair<string, List<SugarParameter>> ToSql();
|
||||||
|
string ToSqlString();
|
||||||
IDeleteable<T> EnableQueryFilter();
|
IDeleteable<T> EnableQueryFilter();
|
||||||
SplitTableDeleteProvider<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc);
|
SplitTableDeleteProvider<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc);
|
||||||
SplitTableDeleteByObjectProvider<T> SplitTable();
|
SplitTableDeleteByObjectProvider<T> SplitTable();
|
||||||
|
@@ -93,6 +93,7 @@ namespace SqlSugar
|
|||||||
IUpdateable<T> RemoveDataCache(string likeString);
|
IUpdateable<T> RemoveDataCache(string likeString);
|
||||||
IUpdateable<T> CallEntityMethod(Expression<Action<T>> method);
|
IUpdateable<T> CallEntityMethod(Expression<Action<T>> method);
|
||||||
KeyValuePair<string,List<SugarParameter>> ToSql();
|
KeyValuePair<string,List<SugarParameter>> ToSql();
|
||||||
|
string ToSqlString();
|
||||||
void AddQueue();
|
void AddQueue();
|
||||||
SplitTableUpdateProvider<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc);
|
SplitTableUpdateProvider<T> SplitTable(Func<List<SplitTableInfo>, IEnumerable<SplitTableInfo>> getTableNamesFunc);
|
||||||
SplitTableUpdateByObjectProvider<T> SplitTable();
|
SplitTableUpdateByObjectProvider<T> SplitTable();
|
||||||
|
@@ -42,6 +42,7 @@ namespace SqlSugar
|
|||||||
IInsertable<T> RemoveDataCache();
|
IInsertable<T> RemoveDataCache();
|
||||||
IInsertable<T> RemoveDataCache(string likeString);
|
IInsertable<T> RemoveDataCache(string likeString);
|
||||||
KeyValuePair<string, List<SugarParameter>> ToSql();
|
KeyValuePair<string, List<SugarParameter>> ToSql();
|
||||||
|
string ToSqlString();
|
||||||
SqlServerBlukCopy UseSqlServer();
|
SqlServerBlukCopy UseSqlServer();
|
||||||
MySqlBlukCopy<T> UseMySql();
|
MySqlBlukCopy<T> UseMySql();
|
||||||
OracleBlukCopy UseOracle();
|
OracleBlukCopy UseOracle();
|
||||||
|
@@ -730,5 +730,33 @@ namespace SqlSugar
|
|||||||
string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
|
string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
|
||||||
return Convert.ToDateTime(FirstDay);
|
return Convert.ToDateTime(FirstDay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetSqlString(ConnectionConfig connectionConfig,KeyValuePair<string, List<SugarParameter>> sqlObj, string result)
|
||||||
|
{
|
||||||
|
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 (connectionConfig.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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user