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
- CommonRemoteMemoryBlock.cs
- LambdaCompiler.cs
- ServiceOperation.cs
- LoginCancelEventArgs.cs
- Operand.cs
- DbBuffer.cs
- FileSystemInfo.cs
- TaiwanLunisolarCalendar.cs
- XmlSchemaSimpleContentRestriction.cs
- SBCSCodePageEncoding.cs
- HScrollProperties.cs
- HttpFileCollection.cs
- XmlLinkedNode.cs
- ControlValuePropertyAttribute.cs
- X509SecurityTokenProvider.cs
- SID.cs
- DataTableClearEvent.cs
- SerializationStore.cs
- EmptyCollection.cs
- StylusCollection.cs
- PipelineModuleStepContainer.cs
- TrustLevelCollection.cs
- JsonMessageEncoderFactory.cs
- ClientSettings.cs
- ActivityDesignerLayoutSerializers.cs
- PenThreadPool.cs
- SemaphoreSlim.cs
- Rect3DConverter.cs
- InheritanceRules.cs
- BadImageFormatException.cs
- StringReader.cs
- Comparer.cs
- VersionUtil.cs
- BigInt.cs
- TransformedBitmap.cs
- Authorization.cs
- Registry.cs
- PointAnimationUsingPath.cs
- XamlFrame.cs
- MessageBox.cs
- ConsoleKeyInfo.cs
- XmlCharacterData.cs
- SynchronizationContext.cs
- ISO2022Encoding.cs
- MemoryMappedView.cs
- SqlDataReaderSmi.cs
- RepeatButtonAutomationPeer.cs
- TransactionsSectionGroup.cs
- CommandConverter.cs
- Sql8ConformanceChecker.cs
- BinHexEncoder.cs
- CustomAttributeFormatException.cs
- xml.cs
- PasswordRecovery.cs
- CodeAccessPermission.cs
- ApplicationServicesHostFactory.cs
- MemberExpression.cs
- Rotation3DKeyFrameCollection.cs
- DetailsViewDeletedEventArgs.cs
- Scene3D.cs
- NativeCompoundFileAPIs.cs
- StrokeNodeOperations2.cs
- CornerRadius.cs
- StartUpEventArgs.cs
- MediaElement.cs
- MetadataCache.cs
- SimpleWorkerRequest.cs
- RotateTransform3D.cs
- CombinedGeometry.cs
- NotCondition.cs
- RegistryKey.cs
- LeafCellTreeNode.cs
- MutexSecurity.cs
- IdentifierElement.cs
- SafeRegistryHandle.cs
- XmlSerializableWriter.cs
- ZipFileInfoCollection.cs
- SafeFileHandle.cs
- SHA512.cs
- EntityClientCacheEntry.cs
- MouseActionValueSerializer.cs
- dataprotectionpermissionattribute.cs
- HttpCapabilitiesBase.cs
- PenCursorManager.cs
- SiteMapDataSourceDesigner.cs
- XmlFormatExtensionAttribute.cs
- InstanceKeyCompleteException.cs
- XD.cs
- MsmqIntegrationValidationBehavior.cs
- IPGlobalProperties.cs
- SafeNativeMethods.cs
- Byte.cs
- ByteAnimationUsingKeyFrames.cs
- Stroke2.cs
- ViewRendering.cs
- RepeatInfo.cs
- ArrayList.cs
- RawUIStateInputReport.cs
- PathTooLongException.cs
- CheckBoxStandardAdapter.cs