Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbQueryCommandTree.cs / 1305376 / DbQueryCommandTree.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees.Internal; using System.Linq; using System.Diagnostics; 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 { // Query expression private readonly DbExpression _query; // Parameter information (will be retrieved from the components of the command tree before construction) private System.Collections.ObjectModel.ReadOnlyCollection_parameters; private DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, DbExpression query, bool validate) : base(metadata, dataSpace) { // Ensure the query expression is non-null EntityUtil.CheckArgumentNull(query, "query"); using (new EntityBid.ScopeAuto(" %d#, query=%d#", this.ObjectId, query.ObjectId)) { if (validate) { // Use the valid workspace and data space to validate the query expression DbExpressionValidator validator = new DbExpressionValidator(metadata, dataSpace); validator.ValidateExpression(query, "query"); this._parameters = validator.Parameters.Select(paramInfo => paramInfo.Value).ToList().AsReadOnly(); } this._query = query; } } /// /// 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. /// Athat defines the logic of the query. /// /// or is null /*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, DbExpression query) : this(metadata, dataSpace, query, true) { } /// does not represent a valid data space /// Gets a public DbExpression Query { get { return this._query; } } internal override DbCommandTreeKind CommandTreeKind { get { return DbCommandTreeKind.Query; } } internal override IEnumerablethat defines the logic of the query. /// > GetParameters() { if (this._parameters == null) { this._parameters = ParameterRetriever.GetParameters(this); } return this._parameters.Select(p => new KeyValuePair (p.ParameterName, p.ResultType)); } 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 static DbQueryCommandTree FromValidExpression(MetadataWorkspace metadata, DataSpace dataSpace, DbExpression query) { #if DEBUG return new DbQueryCommandTree(metadata, dataSpace, query); #else return new DbQueryCommandTree(metadata, dataSpace, query, false); #endif } } } // 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 [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees.Internal; using System.Linq; using System.Diagnostics; 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 { // Query expression private readonly DbExpression _query; // Parameter information (will be retrieved from the components of the command tree before construction) private System.Collections.ObjectModel.ReadOnlyCollection_parameters; private DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, DbExpression query, bool validate) : base(metadata, dataSpace) { // Ensure the query expression is non-null EntityUtil.CheckArgumentNull(query, "query"); using (new EntityBid.ScopeAuto(" %d#, query=%d#", this.ObjectId, query.ObjectId)) { if (validate) { // Use the valid workspace and data space to validate the query expression DbExpressionValidator validator = new DbExpressionValidator(metadata, dataSpace); validator.ValidateExpression(query, "query"); this._parameters = validator.Parameters.Select(paramInfo => paramInfo.Value).ToList().AsReadOnly(); } this._query = query; } } /// /// 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. /// Athat defines the logic of the query. /// /// or is null /*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, DbExpression query) : this(metadata, dataSpace, query, true) { } /// does not represent a valid data space /// Gets a public DbExpression Query { get { return this._query; } } internal override DbCommandTreeKind CommandTreeKind { get { return DbCommandTreeKind.Query; } } internal override IEnumerablethat defines the logic of the query. /// > GetParameters() { if (this._parameters == null) { this._parameters = ParameterRetriever.GetParameters(this); } return this._parameters.Select(p => new KeyValuePair (p.ParameterName, p.ResultType)); } 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 static DbQueryCommandTree FromValidExpression(MetadataWorkspace metadata, DataSpace dataSpace, DbExpression query) { #if DEBUG return new DbQueryCommandTree(metadata, dataSpace, query); #else return new DbQueryCommandTree(metadata, dataSpace, query, false); #endif } } } // 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
- ControlCollection.cs
- ClipboardData.cs
- NegatedConstant.cs
- InstancePersistenceCommandException.cs
- DiagnosticSection.cs
- BufferedMessageData.cs
- AppDomainGrammarProxy.cs
- DesignerObjectListAdapter.cs
- Qualifier.cs
- InputBinding.cs
- TypedRowGenerator.cs
- _ConnectStream.cs
- CodeDelegateInvokeExpression.cs
- Utils.cs
- SafeViewOfFileHandle.cs
- StringUtil.cs
- RecordConverter.cs
- Socket.cs
- assertwrapper.cs
- Bitmap.cs
- ToolStripItemRenderEventArgs.cs
- ZoneLinkButton.cs
- Helper.cs
- ClientTargetSection.cs
- CounterSampleCalculator.cs
- AutomationElement.cs
- DictionaryContent.cs
- ContentElement.cs
- formatter.cs
- TableLayoutStyleCollection.cs
- LookupNode.cs
- SystemFonts.cs
- EntityContainerEntitySetDefiningQuery.cs
- EntityCommandCompilationException.cs
- ApplicationFileCodeDomTreeGenerator.cs
- StoryFragments.cs
- UInt16Storage.cs
- SkinBuilder.cs
- BaseConfigurationRecord.cs
- TemplateAction.cs
- SettingsPropertyValueCollection.cs
- PersistenceException.cs
- ApplicationTrust.cs
- FormsAuthenticationModule.cs
- OrElse.cs
- StreamSecurityUpgradeInitiatorBase.cs
- LoadRetryConstantStrategy.cs
- SkinBuilder.cs
- SaveFileDialog.cs
- ErrorHandlerModule.cs
- FactoryRecord.cs
- SqlFactory.cs
- TimelineGroup.cs
- WebBrowserNavigatingEventHandler.cs
- MultipartIdentifier.cs
- SqlCharStream.cs
- PtsCache.cs
- ExpressionEditorSheet.cs
- PcmConverter.cs
- DependencyPropertyKind.cs
- ValidationErrorEventArgs.cs
- PictureBox.cs
- QilFactory.cs
- FacetValues.cs
- PreparingEnlistment.cs
- DefaultCompensation.cs
- WebPartDisplayModeCollection.cs
- TextTreeExtractElementUndoUnit.cs
- CompilationUnit.cs
- DataServiceRequestException.cs
- XmlSchemaAnnotated.cs
- SourceChangedEventArgs.cs
- DictionaryContent.cs
- VariantWrapper.cs
- ETagAttribute.cs
- ResizingMessageFilter.cs
- BaseWebProxyFinder.cs
- SupportingTokenBindingElement.cs
- FontStretches.cs
- MaskedTextProvider.cs
- FontDriver.cs
- MetadataLocation.cs
- CSharpCodeProvider.cs
- DataSourceHelper.cs
- AllMembershipCondition.cs
- APCustomTypeDescriptor.cs
- CodeMemberField.cs
- ThrowHelper.cs
- WebConvert.cs
- BamlTreeNode.cs
- TextBlock.cs
- AmbientLight.cs
- WebColorConverter.cs
- HostProtectionException.cs
- ImageFormatConverter.cs
- DataKeyCollection.cs
- EntityDataSourceDataSelection.cs
- RunWorkerCompletedEventArgs.cs
- WSSecurityOneDotZeroSendSecurityHeader.cs
- WebPartDisplayMode.cs