Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbUpdateCommandTree.cs / 1305376 / DbUpdateCommandTree.cs
//----------------------------------------------------------------------
//
// 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;
using ReadOnlyModificationClauses = System.Collections.ObjectModel.ReadOnlyCollection; // System.Data.Common.ReadOnlyCollection conflicts
namespace System.Data.Common.CommandTrees
{
///
/// Represents a single-row update operation expressed as a canonical command tree.
/// When the property is set, the command returns a reader; otherwise,
/// it returns a scalar indicating the number of rows affected.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public sealed class DbUpdateCommandTree : DbModificationCommandTree
{
private readonly DbExpression _predicate;
private readonly DbExpression _returning;
private readonly ReadOnlyModificationClauses _setClauses;
internal DbUpdateCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, DbExpressionBinding target, DbExpression predicate, ReadOnlyModificationClauses setClauses, DbExpression returning)
: base(metadata, dataSpace, target)
{
EntityUtil.CheckArgumentNull(predicate, "predicate");
EntityUtil.CheckArgumentNull(setClauses, "setClauses");
// returning is allowed to be null
this._predicate = predicate;
this._setClauses = setClauses;
this._returning = returning;
}
///
/// Gets the list of update set clauses that define the update operation.
///
public IList SetClauses
{
get
{
return _setClauses;
}
}
///
/// Gets an that specifies a projection of results to be returned based on the modified rows.
/// If null, indicates no results should be returned from this command.
///
///
/// The returning projection includes only the following elements:
///
/// - NewInstance expression
/// - Property expression
///
///
public DbExpression Returning
{
get
{
return _returning;
}
}
///
/// Gets an that specifies the predicate used to determine which members of the target collection should be updated.
///
///
/// The predicate includes only the following elements:
///
/// - Equality expression
/// - Constant expression
/// - IsNull expression
/// - Property expression
/// - Reference expression to the target
/// - And expression
/// - Or expression
/// - Not expression
///
///
public DbExpression Predicate
{
get
{
return _predicate;
}
}
internal override DbCommandTreeKind CommandTreeKind
{
get { return DbCommandTreeKind.Update; }
}
internal override bool HasReader
{
get { return null != Returning; }
}
internal override void DumpStructure(ExpressionDumper dumper)
{
base.DumpStructure(dumper);
if (this.Predicate != null)
{
dumper.Dump(this.Predicate, "Predicate");
}
dumper.Begin("SetClauses", null);
foreach (DbModificationClause clause in this.SetClauses)
{
if (null != clause)
{
clause.DumpStructure(dumper);
}
}
dumper.End("SetClauses");
dumper.Dump(this.Returning, "Returning");
}
internal override string PrintTree(ExpressionPrinter printer)
{
return printer.Print(this);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// 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;
using ReadOnlyModificationClauses = System.Collections.ObjectModel.ReadOnlyCollection; // System.Data.Common.ReadOnlyCollection conflicts
namespace System.Data.Common.CommandTrees
{
///
/// Represents a single-row update operation expressed as a canonical command tree.
/// When the property is set, the command returns a reader; otherwise,
/// it returns a scalar indicating the number of rows affected.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public sealed class DbUpdateCommandTree : DbModificationCommandTree
{
private readonly DbExpression _predicate;
private readonly DbExpression _returning;
private readonly ReadOnlyModificationClauses _setClauses;
internal DbUpdateCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, DbExpressionBinding target, DbExpression predicate, ReadOnlyModificationClauses setClauses, DbExpression returning)
: base(metadata, dataSpace, target)
{
EntityUtil.CheckArgumentNull(predicate, "predicate");
EntityUtil.CheckArgumentNull(setClauses, "setClauses");
// returning is allowed to be null
this._predicate = predicate;
this._setClauses = setClauses;
this._returning = returning;
}
///
/// Gets the list of update set clauses that define the update operation.
///
public IList SetClauses
{
get
{
return _setClauses;
}
}
///
/// Gets an that specifies a projection of results to be returned based on the modified rows.
/// If null, indicates no results should be returned from this command.
///
///
/// The returning projection includes only the following elements:
///
/// - NewInstance expression
/// - Property expression
///
///
public DbExpression Returning
{
get
{
return _returning;
}
}
///
/// Gets an that specifies the predicate used to determine which members of the target collection should be updated.
///
///
/// The predicate includes only the following elements:
///
/// - Equality expression
/// - Constant expression
/// - IsNull expression
/// - Property expression
/// - Reference expression to the target
/// - And expression
/// - Or expression
/// - Not expression
///
///
public DbExpression Predicate
{
get
{
return _predicate;
}
}
internal override DbCommandTreeKind CommandTreeKind
{
get { return DbCommandTreeKind.Update; }
}
internal override bool HasReader
{
get { return null != Returning; }
}
internal override void DumpStructure(ExpressionDumper dumper)
{
base.DumpStructure(dumper);
if (this.Predicate != null)
{
dumper.Dump(this.Predicate, "Predicate");
}
dumper.Begin("SetClauses", null);
foreach (DbModificationClause clause in this.SetClauses)
{
if (null != clause)
{
clause.DumpStructure(dumper);
}
}
dumper.End("SetClauses");
dumper.Dump(this.Returning, "Returning");
}
internal override string PrintTree(ExpressionPrinter printer)
{
return printer.Print(this);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UserNameSecurityTokenAuthenticator.cs
- SqlInfoMessageEvent.cs
- FilteredAttributeCollection.cs
- ContentFilePart.cs
- InternalResources.cs
- ValueConversionAttribute.cs
- XmlNodeReader.cs
- DefaultMergeHelper.cs
- nulltextcontainer.cs
- SafeHandle.cs
- InkPresenterAutomationPeer.cs
- ipaddressinformationcollection.cs
- WebServiceData.cs
- OdbcError.cs
- CompositeDataBoundControl.cs
- HashRepartitionStream.cs
- ReliableSession.cs
- ReferencedCollectionType.cs
- ResourceManager.cs
- hresults.cs
- DataGridViewCellConverter.cs
- StyleSheetDesigner.cs
- CodeDomConfigurationHandler.cs
- XmlSchemaParticle.cs
- PnrpPeerResolverBindingElement.cs
- EditorAttribute.cs
- BitmapEffect.cs
- RadioButtonBaseAdapter.cs
- X509Chain.cs
- HttpDebugHandler.cs
- ResXBuildProvider.cs
- FontClient.cs
- ConversionContext.cs
- TogglePattern.cs
- ProtocolsSection.cs
- BitmapData.cs
- ConfigXmlCDataSection.cs
- InkCollectionBehavior.cs
- HandlerMappingMemo.cs
- ValidationSummary.cs
- DocumentXPathNavigator.cs
- JsonSerializer.cs
- LambdaCompiler.Expressions.cs
- ExtenderControl.cs
- EntityDataSourceEntityTypeFilterItem.cs
- Lasso.cs
- RootBrowserWindow.cs
- MessageAction.cs
- App.cs
- ColorConverter.cs
- TreeViewImageKeyConverter.cs
- DependencyObjectPropertyDescriptor.cs
- SchemaImporterExtensionElement.cs
- BoundPropertyEntry.cs
- TimeSpanOrInfiniteValidator.cs
- WindowsEditBoxRange.cs
- ReservationNotFoundException.cs
- XPathAncestorIterator.cs
- tibetanshape.cs
- XPathNavigatorKeyComparer.cs
- SystemDiagnosticsSection.cs
- SendMessageContent.cs
- RegexParser.cs
- Process.cs
- EndpointFilterProvider.cs
- ResXBuildProvider.cs
- CurrentChangingEventArgs.cs
- CodeDOMUtility.cs
- SymbolUsageManager.cs
- SHA256CryptoServiceProvider.cs
- Pair.cs
- EncryptedPackageFilter.cs
- UnauthorizedAccessException.cs
- PeerValidationBehavior.cs
- ChannelHandler.cs
- CheckBoxField.cs
- Soap.cs
- ExtentKey.cs
- X509CertificateInitiatorServiceCredential.cs
- Binding.cs
- TextOutput.cs
- DataGridPagerStyle.cs
- PropertyToken.cs
- InkCanvasSelection.cs
- TraceLevelStore.cs
- OperationCanceledException.cs
- RegexGroupCollection.cs
- ASCIIEncoding.cs
- ParentQuery.cs
- NumberFormatInfo.cs
- OperatingSystem.cs
- Tokenizer.cs
- WrappedIUnknown.cs
- ListParagraph.cs
- ProfileParameter.cs
- TypeDelegator.cs
- KeyMatchBuilder.cs
- CLRBindingWorker.cs
- Calendar.cs
- sqlinternaltransaction.cs