private void VisitUpdateClause(Expression expression) { var assignments = expression as BlockExpression ?? throw new QueryException("Malformed update expression"); foreach (BinaryExpression assigment in assignments.Expressions) { var propName = ((ParameterExpression)assigment.Left).Name; var setter = assigment.Right; var setterHql = HqlGeneratorExpressionVisitor.Visit(setter, VisitorParameters).AsExpression(); _hqlTree.AddSet(_hqlTree.TreeBuilder.Equality(_hqlTree.TreeBuilder.Ident(propName), setterHql)); } }
private void VisitUpdateClause(Expression expression) { var listInit = expression as ListInitExpression ?? throw new QueryException("Malformed update expression"); foreach (var initializer in listInit.Initializers) { var member = (ConstantExpression)initializer.Arguments[0]; var setter = initializer.Arguments[1]; var setterHql = HqlGeneratorExpressionVisitor.Visit(setter, VisitorParameters).AsExpression(); _hqlTree.AddSet(_hqlTree.TreeBuilder.Equality(_hqlTree.TreeBuilder.Ident((string)member.Value), setterHql)); } }