diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 1ef8fd985..4091d06b1 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -781,6 +781,7 @@ namespace SqlSugar } else { + return this.Select(this.SqlBuilder.SqlSelectAll); } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs index 32ff4c5cd..bbe53da77 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/SqlBuilderProvider/QueryBuilder.cs @@ -606,8 +606,14 @@ namespace SqlSugar } var result = Builder.GetTranslationTableName(name); result += UtilConstants.Space; - if (result.Contains("MergeTable") && result.Trim().EndsWith(" MergeTable")) + if (IsSingle() && result.Contains("MergeTable") && result.Trim().EndsWith(" MergeTable") && TableShortName != null) { + result = result.Replace(") MergeTable ", ") " + TableShortName); + TableShortName = null; + } + if (IsSingle() && result.Contains("unionTable") && result.Trim().EndsWith(" unionTable")&& TableShortName!=null) + { + result = result.Replace(" ) unionTable ", ") "+TableShortName); TableShortName = null; } if (this.TableShortName.HasValue()) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs index 7217d9910..c4b946dcb 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/Common/ExpressionTool.cs @@ -13,6 +13,7 @@ namespace SqlSugar switch (expressiontype) { case ExpressionType.And: + return "&"; case ExpressionType.AndAlso: return "AND"; case ExpressionType.Equal: @@ -28,6 +29,7 @@ namespace SqlSugar case ExpressionType.NotEqual: return "<>"; case ExpressionType.Or: + return "|"; case ExpressionType.OrElse: return "OR"; case ExpressionType.Add: diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs index 74b6f6022..0e9a6b9d0 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs @@ -34,7 +34,7 @@ namespace SqlSugar } } - public override object FormatValue(object value) + public object FormatValue(object value,string name,int i) { if (value == null) { @@ -45,12 +45,9 @@ namespace SqlSugar var type = value.GetType(); if (type == UtilConstants.DateType) { - var date = value.ObjToDate(); - if (date < Convert.ToDateTime("1900-1-1")) - { - date = Convert.ToDateTime("1900-1-1"); - } - return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; + var parameterName = this.Builder.SqlParameterKeyWord + name + i; + this.Parameters.Add(new SugarParameter(parameterName, value)); + return parameterName; } else if (type == UtilConstants.ByteArrayType) { @@ -148,7 +145,7 @@ namespace SqlSugar dbType = "varchar"; } } - return string.Format("CAST({0} AS {1})", FormatValue(it.Value), dbType); + return string.Format("CAST({0} AS {1})", FormatValue(it.Value,it.DbColumnName,i), dbType); })) + ")"); ++i; diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs index bcf2bde8e..6b0f1b72c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Sqlite/SqlBuilder/SqliteUpdateBuilder.cs @@ -14,14 +14,14 @@ namespace SqlSugar sb.AppendLine(string.Join("\r\n", groupList.Select(t => { var updateTable = string.Format("UPDATE {0} SET", base.GetTableNameStringNoWith); - var setValues = string.Join(",", t.Where(s => !s.IsPrimarykey).Select(m => GetOracleUpdateColums(i,m)).ToArray()); + var setValues = string.Join(",", t.Where(s => !s.IsPrimarykey).Select(m => GetOracleUpdateColums(i,m,false)).ToArray()); var pkList = t.Where(s => s.IsPrimarykey).ToList(); List whereList = new List(); foreach (var item in pkList) { var isFirst = pkList.First() == item; var whereString = ""; - whereString += GetOracleUpdateColums(i,item); + whereString += GetOracleUpdateColums(i,item,true); whereList.Add(whereString); } i++; @@ -30,12 +30,12 @@ namespace SqlSugar return sb.ToString(); } - private string GetOracleUpdateColums(int i,DbColumnInfo m) + private string GetOracleUpdateColums(int i,DbColumnInfo m,bool iswhere) { - return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(), FormatValue(i,m.DbColumnName,m.Value)); + return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(), FormatValue(i,m.DbColumnName,m.Value,iswhere)); } - public object FormatValue(int i,string name,object value) + public object FormatValue(int i,string name,object value,bool iswhere) { if (value == null) { @@ -44,7 +44,7 @@ namespace SqlSugar else { var type = UtilMethods.GetUnderType(value.GetType()); - if (type == UtilConstants.DateType) + if (type == UtilConstants.DateType && iswhere == false) { var date = value.ObjToDate(); if (date < Convert.ToDateTime("1900-1-1")) @@ -53,6 +53,12 @@ namespace SqlSugar } return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'"; } + else if (type == UtilConstants.DateType && iswhere) + { + var parameterName = this.Builder.SqlParameterKeyWord + name + i; + this.Parameters.Add(new SugarParameter(parameterName, value)); + return parameterName; + } else if (type.IsEnum()) { return Convert.ToInt64(value); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilMethods.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilMethods.cs index 5faede253..bfbe6ee5b 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilMethods.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Utilities/UtilMethods.cs @@ -140,9 +140,9 @@ namespace SqlSugar itemSql = Regex.Replace(itemSql, string.Format(@"\+{0}\+", "\\" + itemParameter.ParameterName), "+" + newName + "+", RegexOptions.IgnoreCase); itemSql = Regex.Replace(itemSql, string.Format(@"\+{0} ", "\\" + itemParameter.ParameterName), "+" + newName + " ", RegexOptions.IgnoreCase); itemSql = Regex.Replace(itemSql, string.Format(@" {0}\+", "\\" + itemParameter.ParameterName), " " + newName + "+", RegexOptions.IgnoreCase); - itemSql = Regex.Replace(itemSql, string.Format(@"\|\|{0}\|\|", "\\" + itemParameter.ParameterName), "+" + newName + "+", RegexOptions.IgnoreCase); + itemSql = Regex.Replace(itemSql, string.Format(@"\|\|{0}\|\|", "\\" + itemParameter.ParameterName), "||" + newName + "||", RegexOptions.IgnoreCase); itemSql = Regex.Replace(itemSql, string.Format(@"\={0}\+", "\\" + itemParameter.ParameterName), "=" + newName + "+", RegexOptions.IgnoreCase); - itemSql = Regex.Replace(itemSql, string.Format(@"{0}\|\|", "\\" + itemParameter.ParameterName), newName + "+", RegexOptions.IgnoreCase); + itemSql = Regex.Replace(itemSql, string.Format(@"{0}\|\|", "\\" + itemParameter.ParameterName), newName + "||", RegexOptions.IgnoreCase); return itemSql; } internal static Type GetRootBaseType(Type entityType)