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
- NamespaceMapping.cs
- ParseChildrenAsPropertiesAttribute.cs
- SecurityHelper.cs
- MetadataArtifactLoaderResource.cs
- DictionarySurrogate.cs
- XmlReader.cs
- Clock.cs
- ViewEventArgs.cs
- IsolatedStorageException.cs
- AuthenticatingEventArgs.cs
- SpellerInterop.cs
- ParameterCollection.cs
- MatrixTransform3D.cs
- TreeNodeStyleCollection.cs
- HashLookup.cs
- EventManager.cs
- QuadTree.cs
- XmlDataSourceNodeDescriptor.cs
- MessageDecoder.cs
- AppSettingsExpressionBuilder.cs
- CacheMemory.cs
- PatternMatcher.cs
- SystemIcmpV4Statistics.cs
- RenderDataDrawingContext.cs
- InputScopeAttribute.cs
- DurableOperationAttribute.cs
- AssemblyAttributesGoHere.cs
- DbParameterCollectionHelper.cs
- ExternalDataExchangeService.cs
- RecommendedAsConfigurableAttribute.cs
- listitem.cs
- VirtualPathProvider.cs
- ResourceDictionaryCollection.cs
- PropertyCondition.cs
- HtmlEmptyTagControlBuilder.cs
- IOThreadTimer.cs
- ServicesUtilities.cs
- SelectionItemPattern.cs
- WebPartCancelEventArgs.cs
- UIElement3D.cs
- WriteTimeStream.cs
- Rule.cs
- ToolStripSeparatorRenderEventArgs.cs
- GeneralTransform.cs
- Variable.cs
- LambdaValue.cs
- MatrixTransform.cs
- SuppressMergeCheckAttribute.cs
- Executor.cs
- ScrollItemPatternIdentifiers.cs
- FrameworkTemplate.cs
- ObjectAssociationEndMapping.cs
- messageonlyhwndwrapper.cs
- StringReader.cs
- WindowsSolidBrush.cs
- TextTreePropertyUndoUnit.cs
- ObjectKeyFrameCollection.cs
- DNS.cs
- Control.cs
- ErrorWrapper.cs
- ScriptResourceAttribute.cs
- UInt32.cs
- StateMachine.cs
- LinkClickEvent.cs
- WindowAutomationPeer.cs
- IntSecurity.cs
- DbConnectionHelper.cs
- CacheVirtualItemsEvent.cs
- updatecommandorderer.cs
- JsonReaderWriterFactory.cs
- UpWmlMobileTextWriter.cs
- TransformGroup.cs
- CommandID.cs
- Bitmap.cs
- ModelFunction.cs
- BitmapEffectState.cs
- EventEntry.cs
- COM2ColorConverter.cs
- ProxyDataContractResolver.cs
- ThousandthOfEmRealPoints.cs
- QueuePropertyVariants.cs
- StoryFragments.cs
- ServiceBusyException.cs
- ResourceContainer.cs
- PKCS1MaskGenerationMethod.cs
- SizeConverter.cs
- BindingValueChangedEventArgs.cs
- SingleTagSectionHandler.cs
- ToolStripMenuItemDesigner.cs
- Transform.cs
- NumericExpr.cs
- TextCompositionEventArgs.cs
- DNS.cs
- Int64Animation.cs
- FactoryGenerator.cs
- ParenthesizePropertyNameAttribute.cs
- DBParameter.cs
- _AutoWebProxyScriptHelper.cs
- MatrixAnimationUsingPath.cs
- Vector3DCollectionConverter.cs