mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-09 02:44:58 +08:00
-
This commit is contained in:
@@ -35,8 +35,11 @@ namespace OrmTest.UnitTest
|
|||||||
//Ignore Name and TestId
|
//Ignore Name and TestId
|
||||||
var s4=db.Insertable<Student>(insertObj).IgnoreColumns(it => new object[] { it.Name,it.TestId }).ToSql();
|
var s4=db.Insertable<Student>(insertObj).IgnoreColumns(it => new object[] { it.Name,it.TestId }).ToSql();
|
||||||
|
|
||||||
|
//Ignore Name and TestId
|
||||||
|
var s5 = db.Insertable<Student>(insertObj).IgnoreColumns(it => it == "Name" || it == "TestId").With(SqlWith.UpdLock).ToSql();
|
||||||
|
|
||||||
//Use Lock
|
//Use Lock
|
||||||
var s5=db.Insertable<Student>(insertObj).With(SqlWith.UpdLock).ToSql();
|
var s6 =db.Insertable<Student>(insertObj).With(SqlWith.UpdLock).ToSql();
|
||||||
|
|
||||||
//ToSql
|
//ToSql
|
||||||
var s7= db.Insertable<Student>(insertObj).With(SqlWith.UpdLock)
|
var s7= db.Insertable<Student>(insertObj).With(SqlWith.UpdLock)
|
||||||
|
|||||||
@@ -49,8 +49,13 @@ namespace SqlSugar
|
|||||||
#region Setting
|
#region Setting
|
||||||
public IInsertable<T> IgnoreColumns(Expression<Func<T, object[]>> columns)
|
public IInsertable<T> IgnoreColumns(Expression<Func<T, object[]>> columns)
|
||||||
{
|
{
|
||||||
var ignoreColumns = InsertBuilder.GetExpressionValue(columns,ResolveExpressType.Array);
|
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.Array);
|
||||||
this.InsertBuilder.DbColumnInfoList= this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.EntityPropertyName)).ToList();
|
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.EntityPropertyName)).ToList();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public IInsertable<T> IgnoreColumns(Func<string, bool> ignoreColumMethod)
|
||||||
|
{
|
||||||
|
this.InsertBuilder.DbColumnInfoList =this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumMethod(it.EntityPropertyName)).ToList();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +96,8 @@ namespace SqlSugar
|
|||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -102,7 +108,7 @@ namespace SqlSugar
|
|||||||
var currentIgnoreColumns = this.Context.IgnoreColumns.Where(it => it.EntityName == this.EntityInfo.Name).ToList();
|
var currentIgnoreColumns = this.Context.IgnoreColumns.Where(it => it.EntityName == this.EntityInfo.Name).ToList();
|
||||||
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it =>
|
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it =>
|
||||||
{
|
{
|
||||||
return !currentIgnoreColumns.Any(i => it.EntityPropertyName.Equals(i.EntityPropertyName,StringComparison.CurrentCulture));
|
return !currentIgnoreColumns.Any(i => it.EntityPropertyName.Equals(i.EntityPropertyName, StringComparison.CurrentCulture));
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -151,9 +157,9 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
return entityName;
|
return entityName;
|
||||||
}
|
}
|
||||||
if (this.Context.MappingColumns.Any(it => it.EntityName.Equals(EntityInfo.Name,StringComparison.CurrentCultureIgnoreCase)))
|
if (this.Context.MappingColumns.Any(it => it.EntityName.Equals(EntityInfo.Name, StringComparison.CurrentCultureIgnoreCase)))
|
||||||
{
|
{
|
||||||
this.MappingColumnList = this.Context.MappingColumns.Where(it => it.EntityName.Equals(EntityInfo.Name,StringComparison.CurrentCultureIgnoreCase)).ToList();
|
this.MappingColumnList = this.Context.MappingColumns.Where(it => it.EntityName.Equals(EntityInfo.Name, StringComparison.CurrentCultureIgnoreCase)).ToList();
|
||||||
}
|
}
|
||||||
if (MappingColumnList == null || !MappingColumnList.Any())
|
if (MappingColumnList == null || !MappingColumnList.Any())
|
||||||
{
|
{
|
||||||
@@ -161,10 +167,12 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var mappInfo = this.Context.MappingColumns.FirstOrDefault(it => it.EntityPropertyName.Equals(entityName,StringComparison.CurrentCultureIgnoreCase));
|
var mappInfo = this.Context.MappingColumns.FirstOrDefault(it => it.EntityPropertyName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase));
|
||||||
return mappInfo == null ? entityName : mappInfo.DbColumnName;
|
return mappInfo == null ? entityName : mappInfo.DbColumnName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ namespace SqlSugar
|
|||||||
IInsertable<T> With(string lockString);
|
IInsertable<T> With(string lockString);
|
||||||
IInsertable<T> InsertColumns(Expression<Func<T, object[]>> columns);
|
IInsertable<T> InsertColumns(Expression<Func<T, object[]>> columns);
|
||||||
IInsertable<T> IgnoreColumns(Expression<Func<T, object[]>> columns);
|
IInsertable<T> IgnoreColumns(Expression<Func<T, object[]>> columns);
|
||||||
|
IInsertable<T> IgnoreColumns(Func<string,bool> ignoreColumMethod);
|
||||||
IInsertable<T> Where(bool isInsertNull);
|
IInsertable<T> Where(bool isInsertNull);
|
||||||
KeyValuePair<string, List<SugarParameter>> ToSql();
|
KeyValuePair<string, List<SugarParameter>> ToSql();
|
||||||
EntityInfo EntityInfo { get; set; }
|
EntityInfo EntityInfo { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user