diff --git a/Src/Asp.Net/SqlServerTest/BugTest/Bug2.cs b/Src/Asp.Net/SqlServerTest/BugTest/Bug2.cs index 691e97aa2..9874c3521 100644 --- a/Src/Asp.Net/SqlServerTest/BugTest/Bug2.cs +++ b/Src/Asp.Net/SqlServerTest/BugTest/Bug2.cs @@ -77,6 +77,24 @@ namespace OrmTest.BugTest .With(SqlWith.NoLock) .ToSql(); + var _sql = DB.Insertable(new UserInfo + { + BrandId = -1, + UserLevel = 1 + }).IgnoreColumns(m => new { m.BlockingTime, m.CreditUpdatetime }).ToSql(); + + var _sql2 = DB.Insertable(new UserInfo + { + BrandId = -1, + UserLevel = 1 + }).IgnoreColumns(m => new { m.UserId }).ToSql(); + var _sql3 = DB.Updateable(new UserInfo + { + BrandId = -1, + UserLevel = 1 + }).IgnoreColumns(m => new { m.CreditUpdatetime,m.UserId }).ToSql(); + + } } @@ -119,5 +137,36 @@ namespace OrmTest.BugTest public int RoleId { get; set; } } + /// + /// VmallUser 实体 + /// + [SugarTable("vmall_user")] + public class UserInfo + { + #region 属性 + + public int UserId { get; set; } + /// + /// + /// + [SugarColumn(ColumnName = "brand_id")] + public int BrandId { get; set; } + /// + /// 用户等级1普通 2高级 0黑名单 + /// + [SugarColumn(ColumnName = "user_level")] + public byte UserLevel { get; set; } + /// + /// 拉黑时间 + /// + [SugarColumn(ColumnName = "blocking_time")] + public DateTime BlockingTime { get; set; } + /// + /// + /// + [SugarColumn(ColumnName = "credit_updatetime")] + public DateTime CreditUpdatetime { get; set; } + #endregion + } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index d71354411..ead4b1aa5 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -184,6 +184,7 @@ namespace SqlSugar { var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it)).ToList(); this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Any(ig => ig.Equals(it.PropertyName, StringComparison.CurrentCultureIgnoreCase))).ToList(); + this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Any(ig => ig.Equals(it.DbColumnName, StringComparison.CurrentCultureIgnoreCase))).ToList(); return this; } public IInsertable IgnoreColumns(Func ignoreColumMethod) diff --git a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index e9ac54acc..051834a25 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -119,6 +119,7 @@ namespace SqlSugar { var ignoreColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.ArraySingle).GetResultArray().Select(it => this.SqlBuilder.GetNoTranslationColumnName(it).ToLower()).ToList(); this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.PropertyName.ToLower())).ToList(); + this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.DbColumnName.ToLower())).ToList(); return this; }