Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataServiceClientException.cs
- FixedSOMPageElement.cs
- PasswordTextNavigator.cs
- SemanticValue.cs
- VerticalAlignConverter.cs
- DataBindingCollectionConverter.cs
- FontInfo.cs
- ServiceMetadataBehavior.cs
- LicenseProviderAttribute.cs
- StyleModeStack.cs
- SqlSupersetValidator.cs
- TokenBasedSetEnumerator.cs
- LazyTextWriterCreator.cs
- DatagridviewDisplayedBandsData.cs
- RowCache.cs
- odbcmetadatafactory.cs
- GroupAggregateExpr.cs
- CalendarSelectionChangedEventArgs.cs
- SqlRowUpdatedEvent.cs
- PeerToPeerException.cs
- TemplatePagerField.cs
- DecoratedNameAttribute.cs
- ModelVisual3D.cs
- InputProcessorProfiles.cs
- Style.cs
- LinkTarget.cs
- WindowHideOrCloseTracker.cs
- FlowDocumentPaginator.cs
- SqlNamer.cs
- DbCommandDefinition.cs
- MenuItemBinding.cs
- StringKeyFrameCollection.cs
- ProvidePropertyAttribute.cs
- TypeBinaryExpression.cs
- TextFormatterContext.cs
- WebPageTraceListener.cs
- LicenseException.cs
- ListSortDescription.cs
- EntityKeyElement.cs
- ObjectNotFoundException.cs
- XamlReaderHelper.cs
- X509SecurityTokenParameters.cs
- ObjectList.cs
- SelectionItemProviderWrapper.cs
- PersonalizationEntry.cs
- MetadataArtifactLoaderCompositeFile.cs
- SmtpFailedRecipientsException.cs
- ClientSettingsSection.cs
- Debugger.cs
- DataMisalignedException.cs
- PathSegment.cs
- TemplateInstanceAttribute.cs
- SharedDp.cs
- Control.cs
- OleDbConnection.cs
- GenerateTemporaryAssemblyTask.cs
- HostedImpersonationContext.cs
- MexBindingBindingCollectionElement.cs
- InfocardExtendedInformationEntry.cs
- RefreshEventArgs.cs
- StringBuilder.cs
- RectAnimationBase.cs
- Native.cs
- ListSortDescriptionCollection.cs
- LocalIdKeyIdentifierClause.cs
- OrCondition.cs
- WebBaseEventKeyComparer.cs
- SchemaCollectionPreprocessor.cs
- CodeSnippetExpression.cs
- BidPrivateBase.cs
- StrongNameKeyPair.cs
- ItemMap.cs
- BasePattern.cs
- Block.cs
- TextTreeExtractElementUndoUnit.cs
- Highlights.cs
- unsafenativemethodstextservices.cs
- NestedContainer.cs
- TextRenderer.cs
- XNameConverter.cs
- HtmlTableCellCollection.cs
- AspNetSynchronizationContext.cs
- MetadataProperty.cs
- DataGridViewAccessibleObject.cs
- DataGridViewElement.cs
- SecurityTokenRequirement.cs
- ParameterElement.cs
- ZipIOExtraField.cs
- SimplePropertyEntry.cs
- HttpResponseInternalBase.cs
- NotificationContext.cs
- WindowsListView.cs
- Type.cs
- SafeNativeMethodsCLR.cs
- SHA384Managed.cs
- KeyValuePair.cs
- NameScopePropertyAttribute.cs
- DialogWindow.cs
- _AutoWebProxyScriptEngine.cs
- TabControlAutomationPeer.cs