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
- ExpressionUtilities.cs
- OracleCommand.cs
- MappingModelBuildProvider.cs
- BadImageFormatException.cs
- IdentifierCollection.cs
- LogSwitch.cs
- SqlPersonalizationProvider.cs
- Bits.cs
- ExceptionValidationRule.cs
- ListViewPagedDataSource.cs
- TemplateBaseAction.cs
- SizeAnimationUsingKeyFrames.cs
- Hyperlink.cs
- PatternMatchRules.cs
- InvokePattern.cs
- _OSSOCK.cs
- cookieexception.cs
- DateTimeUtil.cs
- PagesSection.cs
- ExecutionContext.cs
- RegisteredArrayDeclaration.cs
- EdmSchemaAttribute.cs
- GeometryValueSerializer.cs
- Utils.cs
- HttpWebRequestElement.cs
- Transactions.cs
- BufferedGraphicsManager.cs
- XPathNode.cs
- SplitterPanelDesigner.cs
- GatewayIPAddressInformationCollection.cs
- CfgParser.cs
- AudioBase.cs
- DispatcherProcessingDisabled.cs
- DesignerSerializationOptionsAttribute.cs
- NameValueConfigurationCollection.cs
- VersionUtil.cs
- Guid.cs
- Char.cs
- XmlSchemaType.cs
- ExtensionElementCollection.cs
- BindingMAnagerBase.cs
- CharEntityEncoderFallback.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ReadOnlyDictionary.cs
- BamlReader.cs
- SID.cs
- ContentDisposition.cs
- WinEventTracker.cs
- List.cs
- HeaderedContentControl.cs
- XmlHierarchicalEnumerable.cs
- MethodCallTranslator.cs
- MessageQueueAccessControlEntry.cs
- SmtpFailedRecipientException.cs
- ExtenderHelpers.cs
- IPHostEntry.cs
- Decimal.cs
- ExecutionContext.cs
- TextBox.cs
- TextBlock.cs
- BitmapCodecInfoInternal.cs
- ArraySortHelper.cs
- OleDbDataReader.cs
- TextSegment.cs
- _ShellExpression.cs
- TextEffect.cs
- ProfessionalColors.cs
- RouteValueDictionary.cs
- ArrayWithOffset.cs
- EventWaitHandle.cs
- AuthorizationRuleCollection.cs
- NonSerializedAttribute.cs
- XmlEventCache.cs
- Cursors.cs
- TreeViewImageIndexConverter.cs
- Selection.cs
- SafeThemeHandle.cs
- SqlClientWrapperSmiStreamChars.cs
- CodeDefaultValueExpression.cs
- GuidConverter.cs
- cookieexception.cs
- ImageListUtils.cs
- WebResourceAttribute.cs
- CfgParser.cs
- SiteMapHierarchicalDataSourceView.cs
- OleDbPropertySetGuid.cs
- EntityModelSchemaGenerator.cs
- DiscreteKeyFrames.cs
- _FtpControlStream.cs
- StylusTip.cs
- DeviceFilterDictionary.cs
- SocketPermission.cs
- XhtmlBasicSelectionListAdapter.cs
- Attributes.cs
- DocumentPageTextView.cs
- Common.cs
- DataViewListener.cs
- CurrentChangedEventManager.cs
- StringKeyFrameCollection.cs
- HostProtectionPermission.cs