Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- RefreshEventArgs.cs
- TreeBuilder.cs
- Margins.cs
- NullableBoolConverter.cs
- EventProviderWriter.cs
- ExpandoClass.cs
- _KerberosClient.cs
- HtmlImage.cs
- UidPropertyAttribute.cs
- AnchoredBlock.cs
- CreatingCookieEventArgs.cs
- InvalidEnumArgumentException.cs
- ApplicationSecurityManager.cs
- DataRowChangeEvent.cs
- NativeMethods.cs
- BinaryFormatterSinks.cs
- ConnectionManagementElement.cs
- SamlAuthorizationDecisionClaimResource.cs
- BrushValueSerializer.cs
- DelegatedStream.cs
- NegotiateStream.cs
- WindowsGraphics.cs
- Span.cs
- SecurityChannel.cs
- OdbcConnection.cs
- ToolBarButtonClickEvent.cs
- XPathNodePointer.cs
- SiteMapDataSourceView.cs
- TypeReference.cs
- TypefaceMap.cs
- LinearGradientBrush.cs
- Cursor.cs
- HealthMonitoringSection.cs
- HttpCapabilitiesBase.cs
- FileDialog_Vista.cs
- ClonableStack.cs
- LicenseException.cs
- ScriptingRoleServiceSection.cs
- UncommonField.cs
- PublishLicense.cs
- SortFieldComparer.cs
- PkcsMisc.cs
- CommonProperties.cs
- AuthenticationServiceManager.cs
- KeyInfo.cs
- ValidationSettings.cs
- ResourcePool.cs
- ViewStateException.cs
- GroupBox.cs
- BufferedWebEventProvider.cs
- KeyGesture.cs
- RelativeSource.cs
- CallSiteBinder.cs
- FilterUserControlBase.cs
- MultiBindingExpression.cs
- TextDocumentView.cs
- ConfigurationValues.cs
- TraceSection.cs
- ButtonBaseAdapter.cs
- DebugTracing.cs
- StickyNoteContentControl.cs
- Clipboard.cs
- sqlnorm.cs
- TableRow.cs
- StylusPointPropertyInfoDefaults.cs
- AttachedPropertyMethodSelector.cs
- HandlerFactoryWrapper.cs
- SingleStorage.cs
- DesignerRegionMouseEventArgs.cs
- SubqueryTrackingVisitor.cs
- ActiveXHelper.cs
- DataGridViewButtonColumn.cs
- WmfPlaceableFileHeader.cs
- DefaultBinder.cs
- EncoderExceptionFallback.cs
- DesignTimeSiteMapProvider.cs
- DragAssistanceManager.cs
- NamespaceCollection.cs
- IisTraceListener.cs
- EntitySqlQueryCacheEntry.cs
- PrivilegeNotHeldException.cs
- smtpconnection.cs
- EntityContainerRelationshipSetEnd.cs
- HtmlTableRowCollection.cs
- WebPartAddingEventArgs.cs
- WebResponse.cs
- BindingNavigator.cs
- DataGridViewHeaderCell.cs
- EventLogEntryCollection.cs
- SchemaCollectionCompiler.cs
- Registry.cs
- NetworkInformationException.cs
- DataErrorValidationRule.cs
- FormsAuthenticationTicket.cs
- TextTreeUndoUnit.cs
- CodeArrayIndexerExpression.cs
- CompilerCollection.cs
- WindowShowOrOpenTracker.cs
- SimpleWorkerRequest.cs
- DrawingImage.cs