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
- CachedFontFamily.cs
- Avt.cs
- SimpleType.cs
- LocalizableAttribute.cs
- xmlfixedPageInfo.cs
- XmlAnyAttributeAttribute.cs
- ProjectionNode.cs
- LinkLabel.cs
- HwndTarget.cs
- hwndwrapper.cs
- SmiXetterAccessMap.cs
- ScriptingAuthenticationServiceSection.cs
- DynamicPropertyHolder.cs
- OdbcParameterCollection.cs
- FunctionMappingTranslator.cs
- UrlEncodedParameterWriter.cs
- SyndicationElementExtensionCollection.cs
- WebPartCollection.cs
- ApplicationSettingsBase.cs
- XmlCompatibilityReader.cs
- Errors.cs
- ListBoxAutomationPeer.cs
- coordinatorscratchpad.cs
- ExpressionEvaluator.cs
- WebUtil.cs
- SolidColorBrush.cs
- TextFormatterContext.cs
- SpStreamWrapper.cs
- Evaluator.cs
- LowerCaseStringConverter.cs
- SqlStream.cs
- HtmlToClrEventProxy.cs
- ValidatedMobileControlConverter.cs
- CurrentChangedEventManager.cs
- ValueUtilsSmi.cs
- FixUpCollection.cs
- CodeMemberMethod.cs
- Point3DAnimation.cs
- Subset.cs
- DataSet.cs
- MessageQueue.cs
- DataGridPagingPage.cs
- ExpressionBuilderCollection.cs
- MouseWheelEventArgs.cs
- UpDownEvent.cs
- AddInDeploymentState.cs
- NonBatchDirectoryCompiler.cs
- DelegateBodyWriter.cs
- TdsValueSetter.cs
- ActiveDocumentEvent.cs
- CompilationUnit.cs
- figurelength.cs
- ListViewInsertEventArgs.cs
- StreamDocument.cs
- DecimalConverter.cs
- SiteMapDataSourceView.cs
- SymbolType.cs
- StrongNameUtility.cs
- ExpandedWrapper.cs
- TabPage.cs
- IntSecurity.cs
- CalendarDataBindingHandler.cs
- WebPartEditVerb.cs
- ContainerParaClient.cs
- DrawListViewSubItemEventArgs.cs
- httpapplicationstate.cs
- ToolStripItem.cs
- SerialStream.cs
- SapiRecognizer.cs
- EdmPropertyAttribute.cs
- Tracer.cs
- PreProcessor.cs
- WebBrowsableAttribute.cs
- Subordinate.cs
- ThousandthOfEmRealPoints.cs
- SqlConnectionHelper.cs
- TextDecorationCollection.cs
- ToolStripHighContrastRenderer.cs
- UnSafeCharBuffer.cs
- UrlPropertyAttribute.cs
- ViewBox.cs
- EventLog.cs
- ConnectionPointCookie.cs
- ShellProvider.cs
- SqlServer2KCompatibilityAnnotation.cs
- XmlTypeAttribute.cs
- ObjectListCommandsPage.cs
- SelectionManager.cs
- EntityKeyElement.cs
- LinearKeyFrames.cs
- DateTimeOffsetConverter.cs
- MessageSmuggler.cs
- EndpointAddressElementBase.cs
- BindingListCollectionView.cs
- MulticastDelegate.cs
- StaticFileHandler.cs
- Pkcs9Attribute.cs
- WebPartExportVerb.cs
- StructureChangedEventArgs.cs
- SafeRightsManagementEnvironmentHandle.cs