Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathItem.cs
- _TLSstream.cs
- TextBox.cs
- ObjectReferenceStack.cs
- HierarchicalDataBoundControlAdapter.cs
- SupportsEventValidationAttribute.cs
- MethodSignatureGenerator.cs
- DataGridComponentEditor.cs
- DataQuery.cs
- RuntimeResourceSet.cs
- CardSpaceException.cs
- XmlJsonWriter.cs
- EntityRecordInfo.cs
- FrameworkContextData.cs
- LayoutSettings.cs
- TextRangeEdit.cs
- VirtualDirectoryMappingCollection.cs
- ImmutableObjectAttribute.cs
- InstanceKeyNotReadyException.cs
- ProviderSettings.cs
- XmlSigningNodeWriter.cs
- AssemblyCollection.cs
- BrowserCapabilitiesFactory.cs
- SignerInfo.cs
- FontFaceLayoutInfo.cs
- CodeSubDirectoriesCollection.cs
- WmlObjectListAdapter.cs
- PerspectiveCamera.cs
- Process.cs
- VirtualDirectoryMapping.cs
- DbConnectionPoolCounters.cs
- MarkedHighlightComponent.cs
- TextDecorationCollection.cs
- XamlParser.cs
- MarginsConverter.cs
- CharStorage.cs
- SvcFileManager.cs
- UnsafeNativeMethods.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- CryptoConfig.cs
- EncoderBestFitFallback.cs
- HMACRIPEMD160.cs
- InputScope.cs
- DoubleSumAggregationOperator.cs
- HttpResponseInternalWrapper.cs
- EdmValidator.cs
- ProfileService.cs
- AnnotationHelper.cs
- DesignRelation.cs
- wgx_exports.cs
- TraceEventCache.cs
- ListViewItemEventArgs.cs
- DictationGrammar.cs
- MaterialGroup.cs
- TdsParserSafeHandles.cs
- PropertyChangedEventArgs.cs
- UmAlQuraCalendar.cs
- FamilyMap.cs
- PtsPage.cs
- HtmlHead.cs
- ItemContainerGenerator.cs
- ScrollableControlDesigner.cs
- HtmlInputFile.cs
- MessagePropertyAttribute.cs
- exports.cs
- Activator.cs
- SqlAggregateChecker.cs
- NativeMethodsCLR.cs
- QualificationDataItem.cs
- URIFormatException.cs
- ListViewUpdateEventArgs.cs
- PublishLicense.cs
- XmlSerializationWriter.cs
- Sql8ConformanceChecker.cs
- ApplicationServicesHostFactory.cs
- RawStylusActions.cs
- TypeDependencyAttribute.cs
- HitTestDrawingContextWalker.cs
- PersistenceTypeAttribute.cs
- HeaderedItemsControl.cs
- log.cs
- tooltip.cs
- InternalConfigSettingsFactory.cs
- SafeEventLogWriteHandle.cs
- XmlNullResolver.cs
- SqlDataSourceCache.cs
- ToolStripRenderEventArgs.cs
- HttpCacheParams.cs
- HitTestWithPointDrawingContextWalker.cs
- login.cs
- ApplicationSecurityInfo.cs
- XpsFontSubsetter.cs
- ImageButton.cs
- DataSvcMapFileSerializer.cs
- ObjectCloneHelper.cs
- ApplicationServiceManager.cs
- EntityUtil.cs
- BuildProvidersCompiler.cs
- DataColumnMappingCollection.cs
- HMACRIPEMD160.cs