Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbFunctionCommandTree.cs / 1305376 / DbFunctionCommandTree.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; namespace System.Data.Common.CommandTrees { ////// Represents a function invocation expressed as a canonical command tree /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbFunctionCommandTree : DbCommandTree { private readonly EdmFunction _edmFunction; private readonly TypeUsage _resultType; private readonly System.Collections.ObjectModel.ReadOnlyCollection_parameterNames; private readonly System.Collections.ObjectModel.ReadOnlyCollection _parameterTypes; /// /// Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata /// /// 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. /// /// /// ////// , or is null /*CQT_PUBLIC_API(*/internal/*)*/ DbFunctionCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, EdmFunction edmFunction, TypeUsage resultType, IEnumerable does not represent a valid data space or /// is a composable function > parameters) : base(metadata, dataSpace) { using (new EntityBid.ScopeAuto(" %d#", this.ObjectId)) { EntityUtil.CheckArgumentNull(edmFunction, "edmFunction"); _edmFunction = edmFunction; _resultType = resultType; List paramNames = new List (); List paramTypes = new List (); if (parameters != null) { foreach (KeyValuePair paramInfo in parameters) { paramNames.Add(paramInfo.Key); paramTypes.Add(paramInfo.Value); } } _parameterNames = paramNames.AsReadOnly(); _parameterTypes = paramTypes.AsReadOnly(); } } /// /// Gets the [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] public EdmFunction EdmFunction { get { return _edmFunction; } } ///that represents the function to invoke /// /// Gets the result type of the function; currently constrained to be a Collection of /// RowTypes. Unlike typical RowType instance, merely indicates name/type not parameter /// order. /// public TypeUsage ResultType { get { return _resultType; } } internal override DbCommandTreeKind CommandTreeKind { get { return DbCommandTreeKind.Function; } } internal override IEnumerable> GetParameters() { for (int idx = 0; idx < this._parameterNames.Count; idx++) { yield return new KeyValuePair (this._parameterNames[idx], this._parameterTypes[idx]); } } internal override void DumpStructure(ExpressionDumper dumper) { if (this.EdmFunction != null) { dumper.Dump(this.EdmFunction); } } internal override string PrintTree(ExpressionPrinter printer) { return printer.Print(this); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // 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; namespace System.Data.Common.CommandTrees { ////// Represents a function invocation expressed as a canonical command tree /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbFunctionCommandTree : DbCommandTree { private readonly EdmFunction _edmFunction; private readonly TypeUsage _resultType; private readonly System.Collections.ObjectModel.ReadOnlyCollection_parameterNames; private readonly System.Collections.ObjectModel.ReadOnlyCollection _parameterTypes; /// /// Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata /// /// 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. /// /// /// ////// , or is null /*CQT_PUBLIC_API(*/internal/*)*/ DbFunctionCommandTree(MetadataWorkspace metadata, DataSpace dataSpace, EdmFunction edmFunction, TypeUsage resultType, IEnumerable does not represent a valid data space or /// is a composable function > parameters) : base(metadata, dataSpace) { using (new EntityBid.ScopeAuto(" %d#", this.ObjectId)) { EntityUtil.CheckArgumentNull(edmFunction, "edmFunction"); _edmFunction = edmFunction; _resultType = resultType; List paramNames = new List (); List paramTypes = new List (); if (parameters != null) { foreach (KeyValuePair paramInfo in parameters) { paramNames.Add(paramInfo.Key); paramTypes.Add(paramInfo.Value); } } _parameterNames = paramNames.AsReadOnly(); _parameterTypes = paramTypes.AsReadOnly(); } } /// /// Gets the [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] public EdmFunction EdmFunction { get { return _edmFunction; } } ///that represents the function to invoke /// /// Gets the result type of the function; currently constrained to be a Collection of /// RowTypes. Unlike typical RowType instance, merely indicates name/type not parameter /// order. /// public TypeUsage ResultType { get { return _resultType; } } internal override DbCommandTreeKind CommandTreeKind { get { return DbCommandTreeKind.Function; } } internal override IEnumerable> GetParameters() { for (int idx = 0; idx < this._parameterNames.Count; idx++) { yield return new KeyValuePair (this._parameterNames[idx], this._parameterTypes[idx]); } } internal override void DumpStructure(ExpressionDumper dumper) { if (this.EdmFunction != null) { dumper.Dump(this.EdmFunction); } } internal override string PrintTree(ExpressionPrinter printer) { return printer.Print(this); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Part.cs
- CollectionEditVerbManager.cs
- DbParameterCollection.cs
- DispatcherObject.cs
- ScopelessEnumAttribute.cs
- Rfc4050KeyFormatter.cs
- GeometryGroup.cs
- PtsHost.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ProfileEventArgs.cs
- DynamicQueryableWrapper.cs
- ExpressionEditorAttribute.cs
- PreDigestedSignedInfo.cs
- PageThemeCodeDomTreeGenerator.cs
- EntityDataSourceChangedEventArgs.cs
- TCPClient.cs
- CodeNamespace.cs
- BitmapEffectrendercontext.cs
- IISMapPath.cs
- VectorCollectionConverter.cs
- ContractNamespaceAttribute.cs
- IisTraceWebEventProvider.cs
- UserInitiatedRoutedEventPermission.cs
- ProcessModuleCollection.cs
- XmlElementList.cs
- DataGridViewCellConverter.cs
- ActivationWorker.cs
- XmlDocumentType.cs
- SelectorItemAutomationPeer.cs
- TouchesOverProperty.cs
- ResourceManager.cs
- DisplayNameAttribute.cs
- WebHttpSecurityElement.cs
- OdbcPermission.cs
- PingOptions.cs
- AuthenticationModulesSection.cs
- SqlCacheDependencyDatabase.cs
- ToolStripContentPanelRenderEventArgs.cs
- Source.cs
- CorrelationManager.cs
- AutomationPropertyInfo.cs
- EmptyReadOnlyDictionaryInternal.cs
- XmlDigitalSignatureProcessor.cs
- AutomationPeer.cs
- MouseEventArgs.cs
- Scene3D.cs
- XslCompiledTransform.cs
- ExpressionBuilder.cs
- OpCellTreeNode.cs
- SchemaImporterExtensionElementCollection.cs
- ClientFormsAuthenticationCredentials.cs
- LocalizationComments.cs
- ColorMap.cs
- XmlSchemaInclude.cs
- FormatException.cs
- ForwardPositionQuery.cs
- ConfigurationPropertyAttribute.cs
- ISAPIApplicationHost.cs
- _SpnDictionary.cs
- DefaultProxySection.cs
- StreamSecurityUpgradeInitiator.cs
- XmlWriterDelegator.cs
- SimpleRecyclingCache.cs
- ConfigurationStrings.cs
- EDesignUtil.cs
- ToolboxItemCollection.cs
- XPathExpr.cs
- Options.cs
- HttpResponseBase.cs
- HMACSHA1.cs
- OrderingExpression.cs
- ConstructorNeedsTagAttribute.cs
- SerializationAttributes.cs
- DataServiceOperationContext.cs
- TraceSource.cs
- UrlPath.cs
- Button.cs
- FontUnitConverter.cs
- Base64Decoder.cs
- IImplicitResourceProvider.cs
- XmlNamespaceMapping.cs
- WebPartDisplayModeCollection.cs
- DocumentXPathNavigator.cs
- RNGCryptoServiceProvider.cs
- ProfileWorkflowElement.cs
- PriorityRange.cs
- FixedSOMSemanticBox.cs
- DateTimeOffset.cs
- WindowsFormsHostPropertyMap.cs
- sqlpipe.cs
- HttpListenerResponse.cs
- XhtmlTextWriter.cs
- UriExt.cs
- DataGridPageChangedEventArgs.cs
- UnmanagedMemoryStreamWrapper.cs
- MouseCaptureWithinProperty.cs
- ManagementNamedValueCollection.cs
- StylusPoint.cs
- CachedFontFamily.cs
- Debug.cs