Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbQueryCommandTree.cs / 2 / 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
- HttpDictionary.cs
- FieldNameLookup.cs
- XmlAtomErrorReader.cs
- SyntaxCheck.cs
- CompiledQueryCacheKey.cs
- DataKeyArray.cs
- XPathBinder.cs
- Parameter.cs
- RuleInfoComparer.cs
- SpAudioStreamWrapper.cs
- _Connection.cs
- MaterialCollection.cs
- XamlSerializerUtil.cs
- RegularExpressionValidator.cs
- AppDomainFactory.cs
- StrokeNodeOperations.cs
- CharEntityEncoderFallback.cs
- UnicodeEncoding.cs
- ImageList.cs
- TextParentUndoUnit.cs
- Primitive.cs
- HtmlLiteralTextAdapter.cs
- ToolStripArrowRenderEventArgs.cs
- BatchWriter.cs
- TraceHwndHost.cs
- Menu.cs
- SingleTagSectionHandler.cs
- Semaphore.cs
- AllowedAudienceUriElementCollection.cs
- TableLayoutSettings.cs
- TypeDependencyAttribute.cs
- TransformerInfoCollection.cs
- Model3D.cs
- DbConnectionFactory.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- TextDecorationCollection.cs
- DesignerSerializerAttribute.cs
- SystemColorTracker.cs
- CryptoStream.cs
- QueryOperationResponseOfT.cs
- InkCanvasInnerCanvas.cs
- TextLine.cs
- WebDescriptionAttribute.cs
- BinaryKeyIdentifierClause.cs
- CancelEventArgs.cs
- XsdBuilder.cs
- HtmlForm.cs
- XmlSortKeyAccumulator.cs
- CommandHelpers.cs
- XmlSchemaSimpleType.cs
- CharStorage.cs
- SqlNodeAnnotation.cs
- RoutedPropertyChangedEventArgs.cs
- UpDownEvent.cs
- ErrorItem.cs
- SerializationSectionGroup.cs
- LinqExpressionNormalizer.cs
- OracleColumn.cs
- GeometryDrawing.cs
- DesignerCatalogPartChrome.cs
- XmlSortKeyAccumulator.cs
- AdornerPresentationContext.cs
- DynamicHyperLink.cs
- XmlUTF8TextWriter.cs
- ObjectPersistData.cs
- KeysConverter.cs
- RequestResponse.cs
- OdbcHandle.cs
- EdmPropertyAttribute.cs
- LightweightEntityWrapper.cs
- WorkflowControlClient.cs
- MenuItemStyleCollectionEditor.cs
- ByteStream.cs
- WindowsTokenRoleProvider.cs
- AutoResizedEvent.cs
- TdsParameterSetter.cs
- ListItemsPage.cs
- GridItemCollection.cs
- Variable.cs
- Effect.cs
- AstTree.cs
- SystemWebCachingSectionGroup.cs
- MessageDecoder.cs
- OlePropertyStructs.cs
- RelationshipManager.cs
- LocalizabilityAttribute.cs
- IndexOutOfRangeException.cs
- EntityViewContainer.cs
- WorkflowMarkupSerializer.cs
- StylusPointDescription.cs
- Queue.cs
- DocumentPageHost.cs
- IgnoreFlushAndCloseStream.cs
- Int32Rect.cs
- SocketException.cs
- TextBounds.cs
- ImageCodecInfo.cs
- WebContext.cs
- StringConcat.cs
- BatchWriter.cs