536cd135cc
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
95 lines
3.0 KiB
C#
95 lines
3.0 KiB
C#
//---------------------------------------------------------------------
|
|
// <copyright file="DbSetClause.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//
|
|
// @owner Microsoft
|
|
// @backupOwner Microsoft
|
|
//---------------------------------------------------------------------
|
|
|
|
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
|
|
{
|
|
/// <summary>
|
|
/// Specifies a clause in a modification operation setting the value of a property.
|
|
/// </summary>
|
|
[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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets an <see cref="DbExpression"/> that specifies the property that should be updated.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Constrained to be a <see cref="DbPropertyExpression"/>.
|
|
/// </remarks>
|
|
public DbExpression Property
|
|
{
|
|
get
|
|
{
|
|
return _prop;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets an <see cref="DbExpression"/> that specifies the new value with which to update the property.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Constrained to be a <see cref="DbConstantExpression"/> or <see cref="DbNullExpression"/>
|
|
/// </remarks>
|
|
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<TreeNode> 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;
|
|
}
|
|
}
|
|
}
|