diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs index a48ebde4b..28a10763c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/AdoProvider/AdoProvider.cs @@ -1500,54 +1500,5 @@ namespace SqlSugar return result; } #endregion - - #region Obsolete - [Obsolete] - public virtual dynamic SqlQueryDynamic(string sql, object parameters = null) - { - var dt = this.GetDataTable(sql, parameters); - return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); - } - [Obsolete] - public virtual dynamic SqlQueryDynamic(string sql, params SugarParameter[] parameters) - { - var dt = this.GetDataTable(sql, parameters); - return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); - } - [Obsolete] - public dynamic SqlQueryDynamic(string sql, List parameters) - { - var dt = this.GetDataTable(sql, parameters); - return dt == null ? null : this.Context.Utilities.DataTableToDynamic(dt); - } - [Obsolete] - public void UseStoredProcedure(Action action) - { - var oldCommandType = this.CommandType; - this.CommandType = CommandType.StoredProcedure; - this.IsClearParameters = false; - if (action != null) - { - action(); - } - this.CommandType = oldCommandType; - this.IsClearParameters = true; - } - [Obsolete] - public T UseStoredProcedure(Func action) - { - T result = default(T); - var oldCommandType = this.CommandType; - this.CommandType = CommandType.StoredProcedure; - this.IsClearParameters = false; - if (action != null) - { - result = action(); - } - this.CommandType = oldCommandType; - this.IsClearParameters = true; - return result; - } - #endregion } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/DbBindProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/DbBindProvider.cs index af742f434..497f4c6f4 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/DbBindProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/DbBindProvider.cs @@ -314,7 +314,7 @@ namespace SqlSugar { get { - return new List() { "int32", "datetime", "decimal", "double", "byte", "guid" }; + return new List() { "int32", "datetime", "decimal", "double", "byte" }; } } #endregion diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs index 0fb37be67..e72d5ec3c 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs @@ -140,17 +140,33 @@ namespace SqlSugar var entityPropertyName = this.Context.EntityMaintenance.GetPropertyName(primaryField); var columnInfo = EntityInfo.Columns.Single(it => it.PropertyName == entityPropertyName); var entityValue = columnInfo.PropertyInfo.GetValue(deleteObj, null); + var tempequals = DeleteBuilder.WhereInEqualTemplate; + if (this.Context.CurrentConnectionConfig.MoreSettings != null && this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar == true) + { + tempequals = "\"{0}\"='{1}' "; + } if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle) { - andString.AppendFormat(DeleteBuilder.WhereInEqualTemplate, primaryField.ToUpper(), entityValue); + if (entityValue != null && UtilMethods.GetUnderType(entityValue.GetType()) == UtilConstants.DateType) + { + andString.AppendFormat("\"{0}\"={1} ", primaryField.ToUpper(), "to_date('" + entityValue.ObjToDate().ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS') "); + } + else + { + andString.AppendFormat(tempequals, primaryField.ToUpper(), entityValue); + } } - else if (this.Context.CurrentConnectionConfig.DbType == DbType.PostgreSQL&& (this.Context.CurrentConnectionConfig.MoreSettings==null||this.Context.CurrentConnectionConfig.MoreSettings?.PgSqlIsAutoToLower==true)) + else if (this.Context.CurrentConnectionConfig.DbType == DbType.PostgreSQL && (this.Context.CurrentConnectionConfig.MoreSettings == null || this.Context.CurrentConnectionConfig.MoreSettings?.PgSqlIsAutoToLower == true)) { andString.AppendFormat("\"{0}\"={1} ", primaryField.ToLower(), new PostgreSQLExpressionContext().GetValue(entityValue)); } + else if (this.Context.CurrentConnectionConfig.DbType == DbType.SqlServer && entityValue != null && UtilMethods.GetUnderType(entityValue.GetType()) == UtilConstants.DateType) + { + andString.AppendFormat("\"{0}\"={1} ", primaryField,$"'{entityValue.ObjToDate().ToString("yyyy-MM-dd HH:mm:ss.fff")}'"); + } else { - andString.AppendFormat(DeleteBuilder.WhereInEqualTemplate, primaryField, entityValue); + andString.AppendFormat(tempequals, primaryField, entityValue); } ++i; } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/IdWorker.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/IdWorker.cs index d53a87d23..6ee473ccf 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/IdWorker.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/IdWorker.cs @@ -65,7 +65,10 @@ namespace SqlSugar.DistributedSystem.Snowflake // def get_timestamp() = System.currentTimeMillis readonly object _lock = new Object(); - + public long getID() + { + return NextId(); + } public virtual long NextId() { lock(_lock) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/SnowFlakeSingle.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/SnowFlakeSingle.cs index 1a4bb6cef..c98848d4a 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/SnowFlakeSingle.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/DistributedSystem/Snowflake/SnowFlakeSingle.cs @@ -8,22 +8,38 @@ namespace SqlSugar { public sealed class SnowFlakeSingle { - public static readonly SnowFlakeSingle instance = new SnowFlakeSingle(); + private static object LockObject = new object(); + private static DistributedSystem.Snowflake.IdWorker worker; public static int WorkId = 1; public static int DatacenterId = 1; private SnowFlakeSingle() { - worker = new DistributedSystem.Snowflake.IdWorker(WorkId, DatacenterId); + } static SnowFlakeSingle() { } - public static SnowFlakeSingle Instance + public static DistributedSystem.Snowflake.IdWorker Instance { - get { return instance; } + get + { + if (worker == null) + { + lock (LockObject) + { + if (worker == null) + { + worker = new DistributedSystem.Snowflake.IdWorker(WorkId, DatacenterId); + } + } + } + return worker; + } } - private DistributedSystem.Snowflake.IdWorker worker; - public long getID() - { - return worker.NextId(); + public static DistributedSystem.Snowflake.IdWorker instance + { + get + { + return Instance; + } } } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs index d2780ad16..50af860e6 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/ExpressionsToSql/ResolveItems/MethodCallExpressionResolve.cs @@ -878,6 +878,30 @@ namespace SqlSugar public string GeDateFormat(string formatString, string value) { + if (IsOracle()) + { + return $"to_char({value},'{formatString}') "; + } + else if (IsMySql()&& formatString == "yyyy-MM-dd") + { + return $"DATE_FORMAT({value}, '%Y-%m-%d')"; + } + else if (formatString == "yyyy-MM-dd" && IsSqlServer()) + { + return $"CONVERT(varchar(100),convert(datetime,{value}), 23)"; + } + else if (formatString == "yyyy-MM-dd HH:mm:ss" && IsSqlServer()) + { + return $"CONVERT(varchar(100),convert(datetime,{value}), 120)"; + } + else if (formatString == "yyyy-MM-dd hh:mm:ss" && IsSqlServer()) + { + return $"CONVERT(varchar(100),convert(datetime,{value}), 120)"; + } + else if (formatString == "yyyy-MM-dd hh:mm:ss.ms" && IsSqlServer()) + { + return $"CONVERT(varchar(100),convert(datetime,{value}), 121)"; + } var parameter = new MethodCallExpressionArgs() { IsMember = true, MemberValue = DateType.Year }; var parameter2 = new MethodCallExpressionArgs() { IsMember = true, MemberName = value }; var parameters = new MethodCallExpressionModel() { Args = new List() { parameter2, parameter } }; diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IAdo.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IAdo.cs index f68496e6a..a4846caf4 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IAdo.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IAdo.cs @@ -177,20 +177,6 @@ namespace SqlSugar Task> UseTranAsync(Func action, Action errorCallBack = null); Task> UseTranAsync(Func> action, Action errorCallBack = null); IAdo UseStoredProcedure(); - - - - #region Obsolete - [Obsolete("Use db.ado.UseStoredProcedure().MethodName()")] - void UseStoredProcedure(Action action); - [Obsolete("Use db.ado.UseStoredProcedure().MethodName()")] - T UseStoredProcedure(Func action); - [Obsolete("Use SqlQuery(sql)")] - dynamic SqlQueryDynamic(string sql, object whereObj = null); - [Obsolete("Use SqlQuery(sql)")] - dynamic SqlQueryDynamic(string sql, params SugarParameter[] parameters); - [Obsolete("Use SqlQuery(sql)")] - dynamic SqlQueryDynamic(string sql, List parameters); - #endregion + } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/DbBind/OracleDbBind.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/DbBind/OracleDbBind.cs index 4bc548857..209d109a7 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/DbBind/OracleDbBind.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/DbBind/OracleDbBind.cs @@ -18,6 +18,8 @@ namespace SqlSugar csharpTypeName = "long"; if (csharpTypeName.ToLower().IsIn("boolean", "bool")) csharpTypeName = "bool"; + if (csharpTypeName == "Guid") + csharpTypeName = "string"; var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase)); return mappings.HasValue() ? mappings.First().Key : "varchar"; } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SimpleClient.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SimpleClient.cs index eac557f9a..6cba59f2f 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SimpleClient.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SimpleClient.cs @@ -327,8 +327,6 @@ namespace SqlSugar return await this.Context.Deleteable().In(ids).ExecuteCommandAsync() > 0; } #endregion - - [Obsolete("Use AsSugarClient()")] - public ISqlSugarClient FullClient { get { return this.Context; } } + } }