//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees.Internal; using System.Data.Common.Utils; using System.Diagnostics; namespace System.Data.Common.CommandTrees { /// /// Specifies a clause in a modification operation setting the value of a property. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbSetClause : DbModificationClause { private DbExpression _prop; private DbExpression _val; internal DbSetClause(DbExpression targetProperty, DbExpression sourceValue) : base() { EntityUtil.CheckArgumentNull(targetProperty, "targetProperty"); EntityUtil.CheckArgumentNull(sourceValue, "sourceValue"); _prop = targetProperty; _val = sourceValue; } /// /// Gets an that specifies the property that should be updated. /// /// /// Constrained to be a . /// public DbExpression Property { get { return _prop; } } /// /// Gets an that specifies the new value with which to update the property. /// /// /// Constrained to be a or /// public DbExpression Value { get { return _val; } } internal override void DumpStructure(ExpressionDumper dumper) { dumper.Begin("DbSetClause"); if (null != this.Property) { dumper.Dump(this.Property, "Property"); } if (null != this.Value) { dumper.Dump(this.Value, "Value"); } dumper.End("DbSetClause"); } internal override TreeNode Print(DbExpressionVisitor visitor) { TreeNode node = new TreeNode("DbSetClause"); if (null != this.Property) { node.Children.Add(new TreeNode("Property", this.Property.Accept(visitor))); } if (null != this.Value) { node.Children.Add(new TreeNode("Value", this.Value.Accept(visitor))); } return node; } } }