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
- SurrogateEncoder.cs
- XmlReaderDelegator.cs
- ObjectStateManager.cs
- IndexerNameAttribute.cs
- ClientProtocol.cs
- ReadOnlyState.cs
- MutexSecurity.cs
- SafeTimerHandle.cs
- WebPartDeleteVerb.cs
- BufferedGraphicsManager.cs
- SQLByte.cs
- GlyphManager.cs
- base64Transforms.cs
- TemplatedAdorner.cs
- AuthenticatedStream.cs
- RawStylusActions.cs
- CodePrimitiveExpression.cs
- SupportingTokenChannel.cs
- PropertyDescriptorCollection.cs
- HtmlForm.cs
- SqlUDTStorage.cs
- UiaCoreApi.cs
- ServiceAuthorizationElement.cs
- HtmlTable.cs
- HtmlInputImage.cs
- XmlSchemaValidationException.cs
- CombinedTcpChannel.cs
- CodeStatementCollection.cs
- TextDecorationCollection.cs
- ButtonStandardAdapter.cs
- PropVariant.cs
- BinaryParser.cs
- Adorner.cs
- CustomLineCap.cs
- ValueSerializerAttribute.cs
- ImportContext.cs
- DataListItem.cs
- RoleServiceManager.cs
- WindowsFormsHelpers.cs
- EnumBuilder.cs
- Helpers.cs
- ColorPalette.cs
- TCEAdapterGenerator.cs
- columnmapkeybuilder.cs
- CalendarButtonAutomationPeer.cs
- FileDataSource.cs
- XsltArgumentList.cs
- Html32TextWriter.cs
- FixedTextBuilder.cs
- Helper.cs
- ClusterUtils.cs
- PerformanceCounter.cs
- TypedRowGenerator.cs
- EdgeProfileValidation.cs
- SiteOfOriginContainer.cs
- Section.cs
- DnsEndpointIdentity.cs
- WindowsGraphicsCacheManager.cs
- Flattener.cs
- AttributeUsageAttribute.cs
- DataGridViewCellStateChangedEventArgs.cs
- Domain.cs
- DelegateTypeInfo.cs
- VisualBasicSettingsHandler.cs
- DebugHandleTracker.cs
- TypeLibraryHelper.cs
- TextTreeObjectNode.cs
- HtmlInputHidden.cs
- ServiceNameCollection.cs
- ApplicationBuildProvider.cs
- CopyNamespacesAction.cs
- ScrollItemPattern.cs
- ProjectedWrapper.cs
- BinaryCommonClasses.cs
- SQLMembershipProvider.cs
- ClientBase.cs
- BuildResult.cs
- SqlAliasesReferenced.cs
- WebPartDescription.cs
- CustomWebEventKey.cs
- DataMemberConverter.cs
- ResourcePermissionBase.cs
- TypefaceMap.cs
- PnrpPeerResolverElement.cs
- Aggregates.cs
- DecoderReplacementFallback.cs
- UshortList2.cs
- ObjectHandle.cs
- StylusSystemGestureEventArgs.cs
- SoapTypeAttribute.cs
- DbDataReader.cs
- FieldInfo.cs
- TraceHandlerErrorFormatter.cs
- AnnotationResource.cs
- SettingsContext.cs
- VScrollProperties.cs
- HttpErrorTraceRecord.cs
- ParserOptions.cs
- StringFormat.cs
- InputLanguageSource.cs