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;
}