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
- DocumentEventArgs.cs
- Descriptor.cs
- XPathScanner.cs
- ClientScriptManager.cs
- ApplicationBuildProvider.cs
- PropertyGroupDescription.cs
- Compilation.cs
- SafeEventLogWriteHandle.cs
- PublisherMembershipCondition.cs
- WhileDesigner.xaml.cs
- DbParameterCollectionHelper.cs
- RoutingUtilities.cs
- ChangeNode.cs
- BCLDebug.cs
- FloaterParaClient.cs
- ObjectView.cs
- ResolveMatchesMessageCD1.cs
- SqlCacheDependencyDatabase.cs
- SqlSelectStatement.cs
- UpdatePanelTriggerCollection.cs
- OpacityConverter.cs
- XmlNodeChangedEventArgs.cs
- ProfileSettings.cs
- WebPageTraceListener.cs
- StreamAsIStream.cs
- RuleSettingsCollection.cs
- PersonalizationStateInfo.cs
- XmlC14NWriter.cs
- BindingMemberInfo.cs
- PropertyItemInternal.cs
- Vector3dCollection.cs
- SafeWaitHandle.cs
- ToolStripDropDownItem.cs
- LinqDataSourceContextEventArgs.cs
- RelOps.cs
- ToolboxBitmapAttribute.cs
- CompositionAdorner.cs
- DefaultPropertiesToSend.cs
- Matrix3DStack.cs
- LinqDataSourceView.cs
- SoapElementAttribute.cs
- dsa.cs
- SqlDataSourceCommandEventArgs.cs
- DocumentPageTextView.cs
- HostingPreferredMapPath.cs
- PropertyMap.cs
- DataPager.cs
- DataPointer.cs
- PlatformNotSupportedException.cs
- ListBase.cs
- TableTextElementCollectionInternal.cs
- Lock.cs
- Pointer.cs
- ArraySet.cs
- FunctionDetailsReader.cs
- MultipleViewProviderWrapper.cs
- FontWeights.cs
- ClientBuildManager.cs
- URIFormatException.cs
- xml.cs
- AutoFocusStyle.xaml.cs
- ImageSourceValueSerializer.cs
- SqlBinder.cs
- SendMailErrorEventArgs.cs
- PropertyRecord.cs
- DrawListViewItemEventArgs.cs
- ErrorFormatter.cs
- GZipStream.cs
- ActivityCollectionMarkupSerializer.cs
- KeyEventArgs.cs
- DtdParser.cs
- GroupItemAutomationPeer.cs
- ProcessProtocolHandler.cs
- HtmlGenericControl.cs
- PropertyChangingEventArgs.cs
- DataGridViewCellMouseEventArgs.cs
- ParentQuery.cs
- MimeMapping.cs
- ListViewItemEventArgs.cs
- XMLUtil.cs
- RelationshipType.cs
- TextElementCollectionHelper.cs
- parserscommon.cs
- CodeDelegateCreateExpression.cs
- ModelItemCollection.cs
- FeatureSupport.cs
- PathGeometry.cs
- SevenBitStream.cs
- ConfigurationSectionHelper.cs
- UnknownBitmapEncoder.cs
- HttpPostLocalhostServerProtocol.cs
- ProfileProvider.cs
- UnwrappedTypesXmlSerializerManager.cs
- DocumentsTrace.cs
- PopupControlService.cs
- Stroke2.cs
- BookmarkTable.cs
- itemelement.cs
- DatatypeImplementation.cs
- DataRecordInfo.cs