This commit is contained in:
sunkaixuan
2017-05-12 16:08:23 +08:00
parent be99b5f9c2
commit f60932722b
4 changed files with 14 additions and 7 deletions

View File

@@ -30,10 +30,10 @@ namespace OrmTest.UnitTest
db.IgnoreColumns = null;
//Only insert Name
var s3 = db.Insertable<Student>(insertObj).InsertColumns(it => new object[] { it.Name}).ToSql();
var s3 = db.Insertable<Student>(insertObj).InsertColumns(it => new {it.Name}).ToSql();
//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{ 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();
@@ -43,7 +43,7 @@ namespace OrmTest.UnitTest
//ToSql
var s7= db.Insertable<Student>(insertObj).With(SqlWith.UpdLock)
.InsertColumns(it => new object[] { it.Name }).ToSql();
.InsertColumns(it => new { it.Name }).ToSql();
//Insert List<T>
var s8= db.Insertable<Student>(insertObjs).With(SqlWith.UpdLock).ToSql();

View File

@@ -47,7 +47,7 @@ namespace SqlSugar
#endregion
#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);
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.EntityPropertyName)).ToList();
@@ -59,7 +59,7 @@ namespace SqlSugar
return this;
}
public IInsertable<T> InsertColumns(Expression<Func<T, object[]>> columns)
public IInsertable<T> InsertColumns(Expression<Func<T, object>> columns)
{
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.Array);
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => ignoreColumns.Contains(it.EntityPropertyName)).ToList();

View File

@@ -29,6 +29,13 @@ namespace SqlSugar
break;
case ResolveExpressType.FieldMultiple:
break;
case ResolveExpressType.Array:
foreach (var item in expression.Arguments)
{
base.Expression = item;
base.Start();
}
break;
default:
break;
}

View File

@@ -12,8 +12,8 @@ namespace SqlSugar
int ExecuteCommand();
int ExecuteReutrnIdentity();
IInsertable<T> With(string lockString);
IInsertable<T> InsertColumns(Expression<Func<T, object[]>> columns);
IInsertable<T> IgnoreColumns(Expression<Func<T, object[]>> columns);
IInsertable<T> InsertColumns(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);
KeyValuePair<string, List<SugarParameter>> ToSql();