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
- DrawingBrush.cs
- RemoteWebConfigurationHostStream.cs
- SecurityProtocolFactory.cs
- OlePropertyStructs.cs
- SafeArrayTypeMismatchException.cs
- arabicshape.cs
- CodeDomSerializerBase.cs
- ModelPropertyCollectionImpl.cs
- StorageInfo.cs
- HandleCollector.cs
- Event.cs
- CodeDelegateInvokeExpression.cs
- SiteMapSection.cs
- GenericPrincipal.cs
- SharedUtils.cs
- CodeAttributeDeclaration.cs
- AbsoluteQuery.cs
- ProcessManager.cs
- DispatcherObject.cs
- AttachmentService.cs
- TaiwanLunisolarCalendar.cs
- ControlBuilder.cs
- NullRuntimeConfig.cs
- UnionExpr.cs
- _OSSOCK.cs
- XmlUtil.cs
- PropertyOverridesTypeEditor.cs
- BitmapEffectrendercontext.cs
- TextPatternIdentifiers.cs
- TextDecorations.cs
- JsonFormatReaderGenerator.cs
- ExceptionValidationRule.cs
- RSAPKCS1SignatureDeformatter.cs
- ResourceType.cs
- XmlSchemaSequence.cs
- HttpDigestClientCredential.cs
- SharedPersonalizationStateInfo.cs
- XhtmlBasicTextBoxAdapter.cs
- CodeDelegateCreateExpression.cs
- EncryptedPackageFilter.cs
- RestHandlerFactory.cs
- iisPickupDirectory.cs
- XPathSelfQuery.cs
- HtmlTable.cs
- Roles.cs
- BezierSegment.cs
- StrongNameIdentityPermission.cs
- NotificationContext.cs
- DesignTimeSiteMapProvider.cs
- TimeoutHelper.cs
- VirtualDirectoryMappingCollection.cs
- XmlSchemaAttributeGroupRef.cs
- ModulesEntry.cs
- PersistNameAttribute.cs
- DesignerDataView.cs
- FlowLayoutSettings.cs
- FontEmbeddingManager.cs
- SQLBinary.cs
- Codec.cs
- ServerType.cs
- WindowsSolidBrush.cs
- SingleObjectCollection.cs
- SqlReorderer.cs
- CalendarDataBindingHandler.cs
- DataGridRowClipboardEventArgs.cs
- SessionEndedEventArgs.cs
- LogWriteRestartAreaAsyncResult.cs
- TextServicesCompartmentContext.cs
- XmlDesigner.cs
- CqlParser.cs
- ComponentConverter.cs
- SecurityTokenAttachmentMode.cs
- FullTextBreakpoint.cs
- SspiWrapper.cs
- externdll.cs
- DataRecordObjectView.cs
- ArgumentOutOfRangeException.cs
- OleDbError.cs
- FtpCachePolicyElement.cs
- StreamReader.cs
- dataprotectionpermission.cs
- Soap.cs
- ChangeBlockUndoRecord.cs
- invalidudtexception.cs
- XamlSerializerUtil.cs
- Size3DValueSerializer.cs
- FrugalMap.cs
- configsystem.cs
- WebPartConnectionsCancelEventArgs.cs
- Image.cs
- ComboBoxAutomationPeer.cs
- HostDesigntimeLicenseContext.cs
- keycontainerpermission.cs
- ConfigXmlElement.cs
- SHA1Managed.cs
- OdbcPermission.cs
- WebZone.cs
- EventDescriptorCollection.cs
- SelectionWordBreaker.cs
- EventToken.cs