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
- IndexedEnumerable.cs
- DynamicQueryableWrapper.cs
- SafeNativeMethodsCLR.cs
- RecipientInfo.cs
- ScriptMethodAttribute.cs
- ConstraintManager.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- DoubleCollection.cs
- CombinedGeometry.cs
- BasePattern.cs
- LinqDataSourceHelper.cs
- Html32TextWriter.cs
- PrincipalPermission.cs
- MeasureData.cs
- DataControlButton.cs
- XmlIgnoreAttribute.cs
- SettingsBase.cs
- TextReader.cs
- TextBoxAutomationPeer.cs
- WinFormsSpinner.cs
- VisualBrush.cs
- TransactedBatchContext.cs
- StatusBarPanel.cs
- validationstate.cs
- ScriptingWebServicesSectionGroup.cs
- SHA384.cs
- BreakRecordTable.cs
- StreamResourceInfo.cs
- WebPartUtil.cs
- TemplateControlCodeDomTreeGenerator.cs
- DescendantQuery.cs
- EdmSchemaError.cs
- followingsibling.cs
- BaseComponentEditor.cs
- FrameworkEventSource.cs
- webeventbuffer.cs
- HwndSourceKeyboardInputSite.cs
- DecimalKeyFrameCollection.cs
- DependencyPropertyValueSerializer.cs
- XmlNodeChangedEventManager.cs
- ReliableMessagingVersion.cs
- LocatorPart.cs
- DataObjectCopyingEventArgs.cs
- VisualStyleInformation.cs
- PageParserFilter.cs
- ZipFileInfoCollection.cs
- WebPartCatalogAddVerb.cs
- EncryptedKey.cs
- OleDbMetaDataFactory.cs
- RangeValidator.cs
- CompositeActivityValidator.cs
- RectAnimationClockResource.cs
- TreeViewEvent.cs
- ListCollectionView.cs
- TextDecoration.cs
- WebDisplayNameAttribute.cs
- SQLInt16.cs
- Unit.cs
- ListBoxItemWrapperAutomationPeer.cs
- EdmSchemaError.cs
- SimpleHandlerBuildProvider.cs
- X509Utils.cs
- AutomationPeer.cs
- AnnotationResourceCollection.cs
- DataPager.cs
- NavigationProperty.cs
- BorderSidesEditor.cs
- JapaneseLunisolarCalendar.cs
- IdnMapping.cs
- OperationParameterInfo.cs
- TemplateControl.cs
- DataControlExtensions.cs
- DataSetUtil.cs
- IndentTextWriter.cs
- SingleSelectRootGridEntry.cs
- DataSourceCache.cs
- FixedSOMFixedBlock.cs
- BrowserDefinition.cs
- RC2CryptoServiceProvider.cs
- SafeLibraryHandle.cs
- Header.cs
- Grid.cs
- DataGridViewTextBoxColumn.cs
- Quad.cs
- DSACryptoServiceProvider.cs
- GlobalizationAssembly.cs
- StreamGeometry.cs
- GeneralTransform2DTo3D.cs
- AuthenticationManager.cs
- CompilerWrapper.cs
- TextStore.cs
- CombinedGeometry.cs
- Keyboard.cs
- DataTable.cs
- ReadWriteSpinLock.cs
- EtwTrace.cs
- DataContractSerializerElement.cs
- ToolStripProgressBar.cs
- HtmlInputCheckBox.cs
- WorkflowMarkupSerializer.cs