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
- HtmlFormWrapper.cs
- ApplicationBuildProvider.cs
- SmtpNegotiateAuthenticationModule.cs
- ComplexLine.cs
- UpdatePanelTriggerCollection.cs
- ActiveXContainer.cs
- ScaleTransform.cs
- EventMappingSettingsCollection.cs
- ScriptRegistrationManager.cs
- BooleanSwitch.cs
- RelationshipEndCollection.cs
- SerialStream.cs
- UIPropertyMetadata.cs
- DataGridViewImageColumn.cs
- Debugger.cs
- XappLauncher.cs
- ProjectionPlanCompiler.cs
- Pen.cs
- LinearGradientBrush.cs
- DeadCharTextComposition.cs
- XmlReader.cs
- GridSplitterAutomationPeer.cs
- SourceLineInfo.cs
- RelatedView.cs
- SiteMapNodeCollection.cs
- Substitution.cs
- TextAutomationPeer.cs
- QilUnary.cs
- RemoteX509AsymmetricSecurityKey.cs
- Scene3D.cs
- ClientBuildManager.cs
- Track.cs
- KeyedHashAlgorithm.cs
- EpmHelper.cs
- SQLCharsStorage.cs
- SamlConstants.cs
- CodeFieldReferenceExpression.cs
- ResourceDescriptionAttribute.cs
- HtmlInputControl.cs
- StylusTip.cs
- SmiEventSink_DeferedProcessing.cs
- HMACSHA512.cs
- WebPartEditVerb.cs
- GridViewUpdateEventArgs.cs
- MediaEntryAttribute.cs
- EncoderFallback.cs
- ApplicationGesture.cs
- DebugView.cs
- AnnouncementSendsAsyncResult.cs
- ObjectIDGenerator.cs
- PngBitmapEncoder.cs
- Axis.cs
- TextTreeRootTextBlock.cs
- TargetControlTypeAttribute.cs
- MetafileHeader.cs
- SplitterCancelEvent.cs
- ColorTranslator.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- Resources.Designer.cs
- ConditionCollection.cs
- ImageMapEventArgs.cs
- ThemeInfoAttribute.cs
- DynamicFilter.cs
- DataControlFieldsEditor.cs
- TypeConverterAttribute.cs
- DataPagerFieldItem.cs
- ObfuscationAttribute.cs
- ConfigurationValidatorAttribute.cs
- FaultException.cs
- PeerTransportBindingElement.cs
- TableAdapterManagerMethodGenerator.cs
- HandleCollector.cs
- DataBinder.cs
- InfoCardKeyedHashAlgorithm.cs
- OleDbCommandBuilder.cs
- DbgUtil.cs
- EnumBuilder.cs
- WebBrowserEvent.cs
- Solver.cs
- ActivityExecutionWorkItem.cs
- FixedHighlight.cs
- BackgroundFormatInfo.cs
- CodeVariableDeclarationStatement.cs
- XmlReflectionMember.cs
- SamlAuthorityBinding.cs
- BasicHttpSecurityElement.cs
- IgnoreFileBuildProvider.cs
- HwndAppCommandInputProvider.cs
- PeerCollaborationPermission.cs
- WebServiceFault.cs
- cookieexception.cs
- path.cs
- TextEditorThreadLocalStore.cs
- CheckedPointers.cs
- RepeatBehavior.cs
- OracleRowUpdatedEventArgs.cs
- TypeUnloadedException.cs
- TextRangeEdit.cs
- SHA1CryptoServiceProvider.cs
- ChildChangedEventArgs.cs