Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / Aggregates.cs / 1305376 / Aggregates.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Data.Common; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees.Internal; using System.Diagnostics; namespace System.Data.Common.CommandTrees { ////// Aggregates are pseudo-expressions. They look and feel like expressions, but /// are severely restricted in where they can appear - only in the aggregates clause /// of a group-by expression. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public abstract class DbAggregate { private readonly DbExpressionList _args; private readonly TypeUsage _type; internal DbAggregate(TypeUsage resultType, DbExpressionList arguments) { Debug.Assert(resultType != null, "DbAggregate.ResultType cannot be null"); Debug.Assert(arguments != null, "DbAggregate.Arguments cannot be null"); Debug.Assert(arguments.Count == 1, "DbAggregate requires a single argument"); this._type = resultType; this._args = arguments; } ////// Gets the result type of this aggregate /// public TypeUsage ResultType { get { return _type; } } ////// Gets the list of expressions that define the arguments to the aggregate. /// public IListArguments { get { return _args; } } } /// /// The aggregate type that corresponds to exposing the collection of elements that comprise a group /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbGroupAggregate : DbAggregate { internal DbGroupAggregate(TypeUsage resultType, DbExpressionList arguments) : base(resultType, arguments) { } } ////// The aggregate type that corresponds to the invocation of an aggregate function. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbFunctionAggregate : DbAggregate { private bool _distinct; EdmFunction _aggregateFunction; internal DbFunctionAggregate(TypeUsage resultType, DbExpressionList arguments, EdmFunction function, bool isDistinct) : base(resultType, arguments) { Debug.Assert(function != null, "DbFunctionAggregate.Function cannot be null"); _aggregateFunction = function; _distinct = isDistinct; } ////// Gets a value indicating whether the aggregate function is applied in a distinct fashion /// public bool Distinct { get { return _distinct; } } ////// Gets the method metadata that specifies the aggregate function to invoke. /// public EdmFunction Function { get { return _aggregateFunction; } } } } // 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
- DataGridViewSelectedRowCollection.cs
- XPathNodeIterator.cs
- WebException.cs
- UInt32Storage.cs
- ToolstripProfessionalRenderer.cs
- AnimationLayer.cs
- WrappedKeySecurityToken.cs
- RoleServiceManager.cs
- Console.cs
- FactoryGenerator.cs
- FrameSecurityDescriptor.cs
- IOException.cs
- HtmlInputHidden.cs
- TextTreeInsertUndoUnit.cs
- EntityTransaction.cs
- PhonemeEventArgs.cs
- ButtonAutomationPeer.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- DataGridViewLinkCell.cs
- LinqExpressionNormalizer.cs
- ObjectDataSourceMethodEditor.cs
- CellTreeNode.cs
- MSAANativeProvider.cs
- ThreadAttributes.cs
- PreservationFileReader.cs
- ReferenceAssemblyAttribute.cs
- COM2EnumConverter.cs
- ObjectQuery.cs
- HtmlInputButton.cs
- HtmlElementEventArgs.cs
- RewritingPass.cs
- EncodingTable.cs
- Helpers.cs
- EventWaitHandle.cs
- WinInet.cs
- DrawingAttributeSerializer.cs
- ApplicationFileCodeDomTreeGenerator.cs
- XmlAutoDetectWriter.cs
- DispatcherEventArgs.cs
- HttpStreamXmlDictionaryWriter.cs
- TcpClientCredentialType.cs
- XmlChildNodes.cs
- TypeLibConverter.cs
- Brush.cs
- XmlFormatExtensionAttribute.cs
- BackgroundFormatInfo.cs
- TypeRefElement.cs
- EditorPartCollection.cs
- ExtensionWindowResizeGrip.cs
- _SingleItemRequestCache.cs
- KeySplineConverter.cs
- RolePrincipal.cs
- unsafeIndexingFilterStream.cs
- PartialTrustHelpers.cs
- ScriptControlDescriptor.cs
- KeyToListMap.cs
- propertytag.cs
- ConfigLoader.cs
- DataServiceClientException.cs
- Util.cs
- SystemColors.cs
- DataPagerFieldCommandEventArgs.cs
- CompilerParameters.cs
- IPGlobalProperties.cs
- ChildrenQuery.cs
- StrongNameUtility.cs
- DeferredTextReference.cs
- RelativeSource.cs
- RotateTransform.cs
- TextEditorCharacters.cs
- BaseParaClient.cs
- CodeBlockBuilder.cs
- ResourceType.cs
- SolidBrush.cs
- SdlChannelSink.cs
- DataBindingList.cs
- EnvironmentPermission.cs
- BitmapFrameDecode.cs
- Blend.cs
- DbProviderFactory.cs
- SettingsProperty.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ColorContext.cs
- RequestSecurityTokenResponseCollection.cs
- UnSafeCharBuffer.cs
- MessageEventSubscriptionService.cs
- ProfilePropertyMetadata.cs
- SqlSelectStatement.cs
- UpDownEvent.cs
- ListDataHelper.cs
- CompilationUtil.cs
- DataGridViewButtonColumn.cs
- QuotedStringWriteStateInfo.cs
- SizeAnimation.cs
- ZipPackage.cs
- TransformationRules.cs
- CapabilitiesSection.cs
- TreeNodeClickEventArgs.cs
- DoubleCollectionValueSerializer.cs
- WindowsMenu.cs