public IInsertable <T> CallEntityMethod(Expression <Action <T> > method) { if (this.InsertObjs.HasValue()) { var expression = (LambdaExpression.Lambda(method).Body as LambdaExpression).Body; Check.Exception(!(expression is MethodCallExpression), method.ToString() + " is not method"); var callExpresion = expression as MethodCallExpression; UtilMethods.DataInoveByExpresson(this.InsertObjs, callExpresion); this.InsertBuilder.DbColumnInfoList = new List <DbColumnInfo>(); Init(); } return(this); }
public IUpdateable <T> CallEntityMethod(Expression <Action <T> > method) { ThrowUpdateByExpression(); if (this.UpdateObjs.HasValue()) { var oldColumns = this.UpdateBuilder.DbColumnInfoList.Select(it => it.PropertyName).ToList(); var expression = (LambdaExpression.Lambda(method).Body as LambdaExpression).Body; Check.Exception(!(expression is MethodCallExpression), method.ToString() + " is not method"); var callExpresion = expression as MethodCallExpression; UtilMethods.DataInoveByExpresson(this.UpdateObjs, callExpresion); this.UpdateBuilder.DbColumnInfoList = new List <DbColumnInfo>(); Init(); this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => oldColumns.Contains(it.PropertyName)).ToList(); } return(this); }