Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbQueryCommandTree.cs / 4 / DbQueryCommandTree.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; namespace System.Data.Common.CommandTrees { ////// Represents a query operation expressed as a canonical command tree. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbQueryCommandTree : DbCommandTree { private ExpressionLink _query; ////// Gets or sets an ///that defines the logic of the query operation. /// The expression is null ///The expression is associated with a different command tree public DbExpression Query { get { return _query.Expression; } /*CQT_PUBLIC_API(*/internal/*)*/ set { using (new EntityBid.ScopeAuto("%d#", this.ObjectId)) { EntityBid.Trace(" %d#, value=%d#, %d{cqt.DbExpressionKind}\n", this.ObjectId, DbExpression.GetObjectId(value), DbExpression.GetExpressionKind(value)); _query.Expression = value; } } } /// /// Constructs a new DbQueryCommandTree that uses the specified metadata workspace. /// /// The metadata workspace that the command tree should use. /// The logical 'space' that metadata in the expressions used in this command tree must belong to. ////// or is null /*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace) : base(metadata, dataSpace) { using (new EntityBid.ScopeAuto(" does not represent a valid data space %d#", this.ObjectId)) { _query = new ExpressionLink("Query", this); } } /// /// Clones this command tree. This operation creates a new DbQueryCommandTree for which each expression property value is a clone of the corresponding property of this command tree. /// ///The cloned command tree /*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree Clone() { using (new EntityBid.ScopeAuto("%d#", this.ObjectId)) { DbQueryCommandTree newTree = new DbQueryCommandTree( this.MetadataWorkspace, this.DataSpace ); this.CopyParametersTo(newTree); if (this.Query != null) { newTree.Query = ExpressionCopier.Copy(newTree, this.Query); } return newTree; } } internal override DbCommandTreeKind CommandTreeKind { get { return DbCommandTreeKind.Query; } } internal override void DumpStructure(ExpressionDumper dumper) { if (this.Query != null) { dumper.Dump(this.Query, "Query"); } } internal override string PrintTree(ExpressionPrinter printer) { return printer.Print(this); } internal override void Replace(ExpressionReplacer replacer) { using (new EntityBid.ScopeAuto(" %d#", this.ObjectId)) { if (this.Query != null) { DbExpression newQuery = replacer.Replace(this.Query); if (!object.ReferenceEquals(newQuery, this.Query)) { this.Query = newQuery; } } } } internal override void Validate(System.Data.Common.CommandTrees.Internal.Validator v) { using (new EntityBid.ScopeAuto(" %d#", this.ObjectId)) { v.Validate(this); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------- // // 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; namespace System.Data.Common.CommandTrees { ////// Represents a query operation expressed as a canonical command tree. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbQueryCommandTree : DbCommandTree { private ExpressionLink _query; ////// Gets or sets an ///that defines the logic of the query operation. /// The expression is null ///The expression is associated with a different command tree public DbExpression Query { get { return _query.Expression; } /*CQT_PUBLIC_API(*/internal/*)*/ set { using (new EntityBid.ScopeAuto("%d#", this.ObjectId)) { EntityBid.Trace(" %d#, value=%d#, %d{cqt.DbExpressionKind}\n", this.ObjectId, DbExpression.GetObjectId(value), DbExpression.GetExpressionKind(value)); _query.Expression = value; } } } /// /// Constructs a new DbQueryCommandTree that uses the specified metadata workspace. /// /// The metadata workspace that the command tree should use. /// The logical 'space' that metadata in the expressions used in this command tree must belong to. ////// or is null /*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace) : base(metadata, dataSpace) { using (new EntityBid.ScopeAuto(" does not represent a valid data space %d#", this.ObjectId)) { _query = new ExpressionLink("Query", this); } } /// /// Clones this command tree. This operation creates a new DbQueryCommandTree for which each expression property value is a clone of the corresponding property of this command tree. /// ///The cloned command tree /*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree Clone() { using (new EntityBid.ScopeAuto("%d#", this.ObjectId)) { DbQueryCommandTree newTree = new DbQueryCommandTree( this.MetadataWorkspace, this.DataSpace ); this.CopyParametersTo(newTree); if (this.Query != null) { newTree.Query = ExpressionCopier.Copy(newTree, this.Query); } return newTree; } } internal override DbCommandTreeKind CommandTreeKind { get { return DbCommandTreeKind.Query; } } internal override void DumpStructure(ExpressionDumper dumper) { if (this.Query != null) { dumper.Dump(this.Query, "Query"); } } internal override string PrintTree(ExpressionPrinter printer) { return printer.Print(this); } internal override void Replace(ExpressionReplacer replacer) { using (new EntityBid.ScopeAuto(" %d#", this.ObjectId)) { if (this.Query != null) { DbExpression newQuery = replacer.Replace(this.Query); if (!object.ReferenceEquals(newQuery, this.Query)) { this.Query = newQuery; } } } } internal override void Validate(System.Data.Common.CommandTrees.Internal.Validator v) { using (new EntityBid.ScopeAuto(" %d#", this.ObjectId)) { v.Validate(this); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ValueUtilsSmi.cs
- DESCryptoServiceProvider.cs
- RotateTransform3D.cs
- MailBnfHelper.cs
- SignedInfo.cs
- ConnectionStringsExpressionBuilder.cs
- Pens.cs
- HttpApplicationStateBase.cs
- StringKeyFrameCollection.cs
- ComponentFactoryHelpers.cs
- PenCursorManager.cs
- WebPartConnectionsCancelEventArgs.cs
- XamlFxTrace.cs
- SystemEvents.cs
- AsmxEndpointPickerExtension.cs
- SettingsAttributeDictionary.cs
- ImageAttributes.cs
- IMembershipProvider.cs
- NoneExcludedImageIndexConverter.cs
- StaticFileHandler.cs
- BlurEffect.cs
- ReliableMessagingVersionConverter.cs
- GradientStop.cs
- EdmToObjectNamespaceMap.cs
- ClientConfigurationHost.cs
- UIElement3DAutomationPeer.cs
- DataServiceHostWrapper.cs
- HwndHost.cs
- BinaryObjectWriter.cs
- X509CertificateStore.cs
- ActivityExecutorDelegateInfo.cs
- CreateUserWizardAutoFormat.cs
- _TimerThread.cs
- AssemblyInfo.cs
- SecurityChannelFactory.cs
- RightsManagementLicense.cs
- RepeaterItemEventArgs.cs
- PackagePart.cs
- PersistChildrenAttribute.cs
- TextParaClient.cs
- WebBaseEventKeyComparer.cs
- LineUtil.cs
- UniqueCodeIdentifierScope.cs
- EntityCommand.cs
- SqlCacheDependencyDatabaseCollection.cs
- XmlNamespaceDeclarationsAttribute.cs
- AmbientLight.cs
- SymbolTable.cs
- TargetControlTypeAttribute.cs
- InteropBitmapSource.cs
- BindingBase.cs
- ReferenceEqualityComparer.cs
- QuaternionAnimation.cs
- HuffModule.cs
- ChtmlImageAdapter.cs
- XMLSyntaxException.cs
- OracleMonthSpan.cs
- ReverseQueryOperator.cs
- UndoEngine.cs
- StylusLogic.cs
- StringArrayConverter.cs
- DependencyObjectType.cs
- LookupBindingPropertiesAttribute.cs
- TraceSection.cs
- DemultiplexingDispatchMessageFormatter.cs
- LocalBuilder.cs
- ThemeDirectoryCompiler.cs
- SaveFileDialogDesigner.cs
- EventArgs.cs
- InputBinder.cs
- StructuralObject.cs
- ToolStripContentPanelRenderEventArgs.cs
- FtpWebRequest.cs
- CultureInfo.cs
- XmlDocumentSerializer.cs
- DynamicPropertyHolder.cs
- ConnectionInterfaceCollection.cs
- SQLInt32Storage.cs
- Application.cs
- PublisherIdentityPermission.cs
- OpenTypeCommon.cs
- SignatureResourcePool.cs
- ClosableStream.cs
- EmptyWithCancelationCheckWorkItem.cs
- XmlReflectionImporter.cs
- MouseGestureConverter.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- HtmlTextArea.cs
- EndPoint.cs
- IndentTextWriter.cs
- InternalDispatchObject.cs
- QilParameter.cs
- OperandQuery.cs
- BidirectionalDictionary.cs
- InteropDesigner.xaml.cs
- TextElementCollectionHelper.cs
- MetaTableHelper.cs
- CodeChecksumPragma.cs
- StaticContext.cs
- XPathNodeList.cs