Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbInsertCommandTree.cs / 1 / DbInsertCommandTree.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....], [....]
//---------------------------------------------------------------------
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 System.Collections.ObjectModel;
namespace System.Data.Common.CommandTrees
{
///
/// Represents a single row insert operation expressed as a canonical command tree.
/// When the property is set, the command returns a reader; otherwise,
/// it returns a scalar value indicating the number of rows affected.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public sealed class DbInsertCommandTree : DbModificationCommandTree
{
private IList _setClauses;
private DbExpression _returning;
internal DbInsertCommandTree(MetadataWorkspace metadata, DataSpace dataSpace)
: base(metadata, dataSpace)
{
}
///
/// Gets set clauses determining values of columns in the inserted row.
///
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;
}
internal set
{
_returning = value;
}
}
internal override DbCommandTreeKind CommandTreeKind
{
get { return DbCommandTreeKind.Insert; }
}
internal override bool HasReader
{
get { return null != Returning; }
}
internal override void DumpStructure(ExpressionDumper dumper)
{
base.DumpStructure(dumper);
dumper.Begin("SetClauses");
foreach (DbModificationClause clause in this.SetClauses)
{
if (null != clause)
{
clause.DumpStructure(dumper);
}
}
dumper.End("SetClauses");
if (null != this.Returning)
{
dumper.Dump(this.Returning, "Returning");
}
}
internal override string PrintTree(ExpressionPrinter printer)
{
return printer.Print(this);
}
internal override void Replace(ExpressionReplacer replacer)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
throw EntityUtil.NotSupported();
}
}
///
/// Initializes set clauses on this command tree.
///
/// Set clauses.
internal void InitializeSetClauses(List setClauses)
{
Debug.Assert(null != setClauses, "setClauses cannot be null");
_setClauses = setClauses.AsReadOnly();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....], [....]
//---------------------------------------------------------------------
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 System.Collections.ObjectModel;
namespace System.Data.Common.CommandTrees
{
///
/// Represents a single row insert operation expressed as a canonical command tree.
/// When the property is set, the command returns a reader; otherwise,
/// it returns a scalar value indicating the number of rows affected.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public sealed class DbInsertCommandTree : DbModificationCommandTree
{
private IList _setClauses;
private DbExpression _returning;
internal DbInsertCommandTree(MetadataWorkspace metadata, DataSpace dataSpace)
: base(metadata, dataSpace)
{
}
///
/// Gets set clauses determining values of columns in the inserted row.
///
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;
}
internal set
{
_returning = value;
}
}
internal override DbCommandTreeKind CommandTreeKind
{
get { return DbCommandTreeKind.Insert; }
}
internal override bool HasReader
{
get { return null != Returning; }
}
internal override void DumpStructure(ExpressionDumper dumper)
{
base.DumpStructure(dumper);
dumper.Begin("SetClauses");
foreach (DbModificationClause clause in this.SetClauses)
{
if (null != clause)
{
clause.DumpStructure(dumper);
}
}
dumper.End("SetClauses");
if (null != this.Returning)
{
dumper.Dump(this.Returning, "Returning");
}
}
internal override string PrintTree(ExpressionPrinter printer)
{
return printer.Print(this);
}
internal override void Replace(ExpressionReplacer replacer)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
throw EntityUtil.NotSupported();
}
}
///
/// Initializes set clauses on this command tree.
///
/// Set clauses.
internal void InitializeSetClauses(List setClauses)
{
Debug.Assert(null != setClauses, "setClauses cannot be null");
_setClauses = setClauses.AsReadOnly();
}
}
}
// 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
- KeyInstance.cs
- EntityContainerEmitter.cs
- Fonts.cs
- SqlInfoMessageEvent.cs
- LinkUtilities.cs
- BinHexDecoder.cs
- Int16Animation.cs
- Column.cs
- UriSectionData.cs
- Material.cs
- DocumentViewerBaseAutomationPeer.cs
- ADRole.cs
- StateDesigner.CommentLayoutGlyph.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- SoapCommonClasses.cs
- ExpressionPrinter.cs
- LocatorPart.cs
- DateTimeOffsetAdapter.cs
- DataBoundControl.cs
- MultipleCopiesCollection.cs
- MemberRelationshipService.cs
- XmlSchemaAttributeGroup.cs
- AgileSafeNativeMemoryHandle.cs
- HealthMonitoringSectionHelper.cs
- AvtEvent.cs
- CatalogPartChrome.cs
- NativeObjectSecurity.cs
- CodeDOMProvider.cs
- ImageMap.cs
- DeferredReference.cs
- FieldCollectionEditor.cs
- Error.cs
- ChangeBlockUndoRecord.cs
- Compiler.cs
- SecurityException.cs
- DataReceivedEventArgs.cs
- Quaternion.cs
- ButtonBaseAutomationPeer.cs
- Panel.cs
- XmlSchemaType.cs
- ResourceWriter.cs
- XmlNodeList.cs
- Function.cs
- ListDictionaryInternal.cs
- QuadraticBezierSegment.cs
- SiteMembershipCondition.cs
- BufferedWebEventProvider.cs
- SqlXmlStorage.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- MetafileHeaderEmf.cs
- EventDriven.cs
- Geometry3D.cs
- FixedDocument.cs
- ZoneLinkButton.cs
- InstanceData.cs
- _HeaderInfoTable.cs
- AutomationPatternInfo.cs
- HiddenFieldPageStatePersister.cs
- RoutedUICommand.cs
- DocumentCollection.cs
- Pen.cs
- ComponentResourceManager.cs
- RequestCachePolicy.cs
- SortDescriptionCollection.cs
- TableRow.cs
- HttpNamespaceReservationInstallComponent.cs
- FormsAuthenticationUserCollection.cs
- ManagementDateTime.cs
- SessionSwitchEventArgs.cs
- ScriptResourceHandler.cs
- HttpApplicationFactory.cs
- TypeSystemProvider.cs
- QilCloneVisitor.cs
- DataContractSerializerOperationGenerator.cs
- MDIWindowDialog.cs
- PopupEventArgs.cs
- TransformPattern.cs
- Hyperlink.cs
- ConfigurationValues.cs
- ResolveCompletedEventArgs.cs
- PreProcessor.cs
- LinearGradientBrush.cs
- Subset.cs
- Thumb.cs
- LabelDesigner.cs
- XamlInt32CollectionSerializer.cs
- SystemIcmpV4Statistics.cs
- StaticSiteMapProvider.cs
- WsrmMessageInfo.cs
- EntityClassGenerator.cs
- FloatMinMaxAggregationOperator.cs
- TextEvent.cs
- ChainOfDependencies.cs
- DoubleAnimationUsingPath.cs
- StringExpressionSet.cs
- FormatSettings.cs
- TextMessageEncoder.cs
- EditableRegion.cs
- CriticalHandle.cs
- Literal.cs