Update UpdateColumns BUG

This commit is contained in:
sunkaixuan 2018-04-08 11:25:00 +08:00
parent 505f37bbe7
commit c4cdb31938
2 changed files with 3 additions and 3 deletions

View File

@ -31,9 +31,9 @@ namespace OrmTest.UnitTest
var id= db.Insertable(x).AS("student").ExecuteReturnIdentity();
var data = db.Queryable<StudentEnum>().AS("student").InSingle(id);
shoolValue = SchoolEnum.UniversityOfOxford;
var sql= db.Updateable<StudentEnum>().AS("student").UpdateColumns(it=>new StudentEnum() { Name="a" , SchoolId= shoolValue }).Where(it=>it.Id==id).ToSql();
var sql= db.Updateable<StudentEnum>().AS("student").UpdateColumns(it=>new StudentEnum() { Name="a" , SchoolId= shoolValue }).Where(it=>it.Id==id).ToSql();
var sql2 = db.Updateable<StudentEnum>().AS("student").UpdateColumns(it => new StudentEnum() { Name = "a", SchoolId = SchoolEnum.UniversityOfOxford }).Where(it => it.Id == id).ToSql();
var sql3 = db.Updateable<StudentEnum>().AS("student").UpdateColumns(it => it.SchoolId == shoolValue ).ToSql();
}
}
}

View File

@ -141,7 +141,7 @@ namespace SqlSugar
public IUpdateable<T> UpdateColumns(Expression<Func<T, bool>> columns) {
var binaryExp = columns.Body as BinaryExpression;
Check.Exception(!binaryExp.NodeType.IsIn(ExpressionType.Equal), "No support {0}", columns.ToString());
Check.Exception(!(binaryExp.Left is MemberExpression), "No support {0}", columns.ToString());
Check.Exception(!(binaryExp.Left is MemberExpression)&& !(binaryExp.Left is UnaryExpression), "No support {0}", columns.ToString());
Check.Exception(ExpressionTool.IsConstExpression(binaryExp.Left as MemberExpression), "No support {0}", columns.ToString());
var expResult = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.WhereSingle).GetResultString().Replace("))",") )").Replace("((", "( (").Trim().TrimStart('(').TrimEnd(')');
string key = SqlBuilder.GetNoTranslationColumnName(expResult);