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
- ModelPropertyImpl.cs
- MethodRental.cs
- ExpressionBuilder.cs
- TemplateParser.cs
- CodeCastExpression.cs
- BrowserCapabilitiesFactoryBase.cs
- TypeInitializationException.cs
- PingOptions.cs
- PenContexts.cs
- DataSourceConverter.cs
- MachineKeySection.cs
- AdapterUtil.cs
- DataExpression.cs
- DataError.cs
- SqlGenericUtil.cs
- XmlChoiceIdentifierAttribute.cs
- UpdateRecord.cs
- Expressions.cs
- IriParsingElement.cs
- Parameter.cs
- SSmlParser.cs
- BaseAppDomainProtocolHandler.cs
- EFColumnProvider.cs
- FileDialogCustomPlace.cs
- AutoResizedEvent.cs
- GAC.cs
- StylusSystemGestureEventArgs.cs
- WindowsSolidBrush.cs
- PeerNameRecordCollection.cs
- wgx_render.cs
- PageThemeCodeDomTreeGenerator.cs
- PipelineModuleStepContainer.cs
- ModelUIElement3D.cs
- SpellerHighlightLayer.cs
- AstTree.cs
- DataTableExtensions.cs
- TabletCollection.cs
- BooleanToVisibilityConverter.cs
- CharStorage.cs
- UTF32Encoding.cs
- PointAnimationBase.cs
- PluralizationServiceUtil.cs
- SocketElement.cs
- GridViewSelectEventArgs.cs
- DropDownButton.cs
- Section.cs
- JoinCqlBlock.cs
- WebPartAuthorizationEventArgs.cs
- SAPICategories.cs
- BackStopAuthenticationModule.cs
- CodeBlockBuilder.cs
- ClaimComparer.cs
- CollectionEditVerbManager.cs
- LongTypeConverter.cs
- PreservationFileReader.cs
- SyndicationFeedFormatter.cs
- PowerModeChangedEventArgs.cs
- DodSequenceMerge.cs
- ButtonFieldBase.cs
- StorageMappingItemCollection.cs
- RuntimeTransactionHandle.cs
- HttpHeaderCollection.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- StateBag.cs
- CoreSwitches.cs
- SBCSCodePageEncoding.cs
- DataGrid.cs
- GeneralTransformCollection.cs
- TickBar.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- GuidConverter.cs
- PropertyValueUIItem.cs
- Assert.cs
- DataGridRow.cs
- LocalizationParserHooks.cs
- ExtendedPropertyCollection.cs
- CapabilitiesRule.cs
- VBCodeProvider.cs
- TypeUtil.cs
- PrintEvent.cs
- StrongNamePublicKeyBlob.cs
- BitmapEffectOutputConnector.cs
- EditingCommands.cs
- QueryOutputWriter.cs
- DtrList.cs
- DropDownHolder.cs
- HostingPreferredMapPath.cs
- AutoCompleteStringCollection.cs
- CryptoConfig.cs
- Base64Decoder.cs
- EtwTrackingBehaviorElement.cs
- ScriptReferenceEventArgs.cs
- ModelItemImpl.cs
- SystemDiagnosticsSection.cs
- ListBox.cs
- EmptyElement.cs
- XmlTextWriter.cs
- StateChangeEvent.cs
- NoResizeHandleGlyph.cs
- Geometry3D.cs