Updates referencesource to .NET 4.7
[mono-project.git] / mcs / class / referencesource / System.Data.Entity / System / Data / Common / CommandTrees / DbModificationClause.cs
blob71eecb4b2e31b48dc1b20b5d8ff7ccbdd2e22b8d
1 //---------------------------------------------------------------------
2 // <copyright file="DbModificationClause.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
4 // </copyright>
5 //
6 // @owner Microsoft
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
10 using System;
11 using System.Collections.Generic;
13 using System.Data.Metadata.Edm;
14 using System.Data.Common.CommandTrees.Internal;
15 using System.Data.Common.Utils;
16 using System.Diagnostics;
18 namespace System.Data.Common.CommandTrees
20 /// <summary>
21 /// Specifies a single clause in an insert or update modification operation, see
22 /// <see cref="DbInsertCommandTree.SetClauses"/> and <see cref="DbUpdateCommandTree.SetClauses"/>
23 /// </summary>
24 /// <remarks>
25 /// An abstract base class allows the possibility of patterns other than
26 /// Property = Value in future versions, e.g.,
27 /// <code>
28 /// update Foo
29 /// set ComplexTypeColumn.Bar()
30 /// where Id = 2
31 /// </code>
32 /// </remarks>
33 [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
34 public abstract class DbModificationClause
36 internal DbModificationClause()
40 // Effects: describes the contents of this clause using the given dumper
41 internal abstract void DumpStructure(ExpressionDumper dumper);
43 // Effects: produces a tree node describing this clause, recursively producing nodes
44 // for child expressions using the given expression visitor
45 internal abstract TreeNode Print(DbExpressionVisitor<TreeNode> visitor);