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
- SQLBytesStorage.cs
- BitmapVisualManager.cs
- DataTableReaderListener.cs
- TemplateBindingExtension.cs
- CodeRemoveEventStatement.cs
- FunctionMappingTranslator.cs
- NotifyParentPropertyAttribute.cs
- MarkupWriter.cs
- SymbolTable.cs
- AspCompat.cs
- TextDecorationLocationValidation.cs
- SqlDeflator.cs
- TreeNodeBinding.cs
- EntityClientCacheKey.cs
- ServiceSecurityAuditBehavior.cs
- MenuScrollingVisibilityConverter.cs
- XamlFilter.cs
- HighlightVisual.cs
- IsolatedStorage.cs
- SortedDictionary.cs
- ActionFrame.cs
- DoubleStorage.cs
- CollectionEditVerbManager.cs
- basemetadatamappingvisitor.cs
- FlagsAttribute.cs
- MetadataCacheItem.cs
- ConfigXmlWhitespace.cs
- ADMembershipProvider.cs
- ProgramNode.cs
- SQLCharsStorage.cs
- SafeWaitHandle.cs
- itemelement.cs
- FieldNameLookup.cs
- IUnknownConstantAttribute.cs
- MembershipPasswordException.cs
- DBSqlParserTableCollection.cs
- TextEffectCollection.cs
- CodeTypeConstructor.cs
- ConfigurationSection.cs
- Byte.cs
- LockingPersistenceProvider.cs
- SpeechRecognizer.cs
- ClickablePoint.cs
- DockPanel.cs
- RMPermissions.cs
- ArcSegment.cs
- BaseValidatorDesigner.cs
- SortExpressionBuilder.cs
- UpdateManifestForBrowserApplication.cs
- TagNameToTypeMapper.cs
- StrongNameIdentityPermission.cs
- PaintValueEventArgs.cs
- StylusPointPropertyId.cs
- FrameworkTextComposition.cs
- ExpandedWrapper.cs
- ElementNotAvailableException.cs
- ObjectDataProvider.cs
- OneOf.cs
- SearchExpression.cs
- FlowDocumentView.cs
- IDReferencePropertyAttribute.cs
- VariantWrapper.cs
- RuntimeArgumentHandle.cs
- BinaryObjectWriter.cs
- StylusPointPropertyUnit.cs
- CompositeDataBoundControl.cs
- MatrixAnimationUsingPath.cs
- ToolStripSettings.cs
- COM2IDispatchConverter.cs
- RC2CryptoServiceProvider.cs
- FrameworkElement.cs
- Clipboard.cs
- SpecialNameAttribute.cs
- SourceFilter.cs
- Identity.cs
- MobileControlPersister.cs
- CellQuery.cs
- Configuration.cs
- TypeDescriptor.cs
- CodeTypeMemberCollection.cs
- CaseInsensitiveHashCodeProvider.cs
- ProfileSettings.cs
- DeobfuscatingStream.cs
- HierarchicalDataSourceConverter.cs
- TraceLevelStore.cs
- ProfileSettingsCollection.cs
- PublisherIdentityPermission.cs
- QilStrConcatenator.cs
- HTMLTagNameToTypeMapper.cs
- CqlWriter.cs
- StylusPointProperties.cs
- Floater.cs
- BitStack.cs
- OdbcStatementHandle.cs
- XmlSchema.cs
- CapabilitiesAssignment.cs
- InvalidProgramException.cs
- TargetPerspective.cs
- BlurEffect.cs
- CalendarTable.cs