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
- TypeValidationEventArgs.cs
- ScriptControlManager.cs
- EncoderNLS.cs
- CanonicalFontFamilyReference.cs
- SqlDataSourceEnumerator.cs
- PageCodeDomTreeGenerator.cs
- SqlRewriteScalarSubqueries.cs
- BypassElementCollection.cs
- KeyFrames.cs
- UpdateCompiler.cs
- UiaCoreTypesApi.cs
- ListSourceHelper.cs
- SeparatorAutomationPeer.cs
- Base64Stream.cs
- XmlHierarchicalEnumerable.cs
- PerfService.cs
- EventManager.cs
- selecteditemcollection.cs
- LockedActivityGlyph.cs
- BufferedGraphicsContext.cs
- RegistrationServices.cs
- EncoderBestFitFallback.cs
- OuterProxyWrapper.cs
- IndentedTextWriter.cs
- _CookieModule.cs
- UserControl.cs
- ObsoleteAttribute.cs
- IgnoreSection.cs
- InputMethodStateTypeInfo.cs
- HyperLinkColumn.cs
- CommonObjectSecurity.cs
- WebColorConverter.cs
- SizeAnimationClockResource.cs
- AdapterDictionary.cs
- DesignBinding.cs
- UpdateManifestForBrowserApplication.cs
- LayoutEngine.cs
- SelectionPatternIdentifiers.cs
- DefaultAsyncDataDispatcher.cs
- OracleParameter.cs
- TextHidden.cs
- SqlUtil.cs
- QuaternionRotation3D.cs
- CurrentChangedEventManager.cs
- SystemWebCachingSectionGroup.cs
- DataServiceHost.cs
- HandlerBase.cs
- PingReply.cs
- EventLogger.cs
- LongTypeConverter.cs
- AutoGeneratedField.cs
- SqlBulkCopyColumnMappingCollection.cs
- CompiledQueryCacheKey.cs
- CanonicalFontFamilyReference.cs
- MarkerProperties.cs
- ErrorsHelper.cs
- TreeViewDataItemAutomationPeer.cs
- SiteMapNodeItemEventArgs.cs
- XmlSchemaSimpleContentRestriction.cs
- X509Utils.cs
- FixedFlowMap.cs
- StrokeSerializer.cs
- DictionaryCustomTypeDescriptor.cs
- CommandEventArgs.cs
- SecurityTokenReferenceStyle.cs
- MyContact.cs
- NameTable.cs
- DocobjHost.cs
- EntityException.cs
- DashStyles.cs
- PropertyItem.cs
- DataGridPagingPage.cs
- AuthorizationRule.cs
- DotExpr.cs
- ValidatedControlConverter.cs
- EntityPropertyMappingAttribute.cs
- SchemaAttDef.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- CultureMapper.cs
- DurableOperationAttribute.cs
- PrintPreviewControl.cs
- PropertyGridView.cs
- AffineTransform3D.cs
- PenCursorManager.cs
- ConfigXmlElement.cs
- SerializationObjectManager.cs
- Utils.cs
- PanelStyle.cs
- SqlBulkCopy.cs
- BoundColumn.cs
- EdmSchemaAttribute.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- Set.cs
- CollectionChange.cs
- InstanceKey.cs
- PropertyMapper.cs
- TakeQueryOptionExpression.cs
- MergablePropertyAttribute.cs
- ControlIdConverter.cs
- CaseInsensitiveHashCodeProvider.cs