diff --git a/Src/Asp.Net/SqlServerTest/Demos/F_VersionValidation.cs b/Src/Asp.Net/SqlServerTest/Demos/F_VersionValidation.cs index 1b3eae99f..ea46120f9 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/F_VersionValidation.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/F_VersionValidation.cs @@ -29,6 +29,7 @@ namespace OrmTest.Demo db.Updateable(data).AS("student").ExecuteCommand(); data.CreateTime = time.Value.AddMilliseconds(-1); + db.Updateable(data).AS("student").CloseVersionValidation().ExecuteCommand();//Close Version Validation db.Updateable(data).AS("student").ExecuteCommand(); } } diff --git a/Src/Asp.Net/SqlServerTest/Models/DataTestInfo.cs b/Src/Asp.Net/SqlServerTest/Models/DataTestInfo.cs index 30cf9a7a0..3a85bd9f5 100644 --- a/Src/Asp.Net/SqlServerTest/Models/DataTestInfo.cs +++ b/Src/Asp.Net/SqlServerTest/Models/DataTestInfo.cs @@ -107,7 +107,8 @@ namespace OrmTest.Models /// Desc: /// Default: /// Nullable:False - /// + /// + [SqlSugar.SugarColumn(IsEnableUpdateVersionValidation =true)] public byte[] Varbinary1 {get;set;} /// diff --git a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index 6f16ce0f4..5f3238b7c 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -23,6 +23,7 @@ namespace SqlSugar private List IgnoreColumnNameList { get; set; } private List WhereColumnList { get; set; } private bool IsOffIdentity { get; set; } + private bool IsVersionValidation = true; public MappingTableList OldMappingTableList { get; set; } public bool IsAs { get; set; } public virtual int ExecuteCommand() @@ -79,6 +80,12 @@ namespace SqlSugar return this; } + public IUpdateable CloseVersionValidation() + { + this.IsVersionValidation = false; + return this; + } + public IUpdateable IgnoreColumns(bool ignoreAllNullColumns, bool isOffIdentity = false) { UpdateBuilder.IsOffIdentity = isOffIdentity; @@ -460,7 +467,7 @@ namespace SqlSugar private void ValidateVersion() { var versionColumn = this.EntityInfo.Columns.FirstOrDefault(it => it.IsEnableUpdateVersionValidation); - if (versionColumn != null) + if (versionColumn != null && this.IsVersionValidation) { var pks = this.UpdateBuilder.DbColumnInfoList.Where(it => it.IsPrimarykey).ToList(); List conModels = new List(); diff --git a/Src/Asp.Net/SqlSugar/Interface/IUpdateable.cs b/Src/Asp.Net/SqlSugar/Interface/IUpdateable.cs index 8131fdd02..4aa61c1fa 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IUpdateable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IUpdateable.cs @@ -41,6 +41,7 @@ namespace SqlSugar IUpdateable IgnoreColumns(bool ignoreAllNullColumns, bool isOffIdentity = false); IUpdateable IgnoreColumns(Expression> columns); IUpdateable IgnoreColumns(Func ignoreColumMethod); + IUpdateable CloseVersionValidation(); IUpdateable ReSetValue(Expression> setValueExpression); IUpdateable RemoveDataCache(); KeyValuePair> ToSql();