Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DLinq / Dlinq / SqlClient / Query / SqlAggregateChecker.cs / 1 / SqlAggregateChecker.cs
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Data.Linq;
namespace System.Data.Linq.SqlClient {
internal class SqlAggregateChecker {
Visitor visitor;
internal SqlAggregateChecker() {
this.visitor = new Visitor();
}
internal bool HasAggregates(SqlNode node) {
visitor.hasAggregates = false;
visitor.Visit(node);
return visitor.hasAggregates;
}
class Visitor : SqlVisitor {
internal bool hasAggregates;
internal Visitor() {
}
internal override SqlExpression VisitSubSelect(SqlSubSelect ss) {
return ss;
}
internal override SqlSource VisitSource(SqlSource source) {
return source;
}
internal override SqlExpression VisitUnaryOperator(SqlUnary uo) {
switch (uo.NodeType) {
case SqlNodeType.Min:
case SqlNodeType.Max:
case SqlNodeType.Avg:
case SqlNodeType.Sum:
case SqlNodeType.Count:
case SqlNodeType.LongCount:
this.hasAggregates = true;
return uo;
default:
return base.VisitUnaryOperator(uo);
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Data.Linq;
namespace System.Data.Linq.SqlClient {
internal class SqlAggregateChecker {
Visitor visitor;
internal SqlAggregateChecker() {
this.visitor = new Visitor();
}
internal bool HasAggregates(SqlNode node) {
visitor.hasAggregates = false;
visitor.Visit(node);
return visitor.hasAggregates;
}
class Visitor : SqlVisitor {
internal bool hasAggregates;
internal Visitor() {
}
internal override SqlExpression VisitSubSelect(SqlSubSelect ss) {
return ss;
}
internal override SqlSource VisitSource(SqlSource source) {
return source;
}
internal override SqlExpression VisitUnaryOperator(SqlUnary uo) {
switch (uo.NodeType) {
case SqlNodeType.Min:
case SqlNodeType.Max:
case SqlNodeType.Avg:
case SqlNodeType.Sum:
case SqlNodeType.Count:
case SqlNodeType.LongCount:
this.hasAggregates = true;
return uo;
default:
return base.VisitUnaryOperator(uo);
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProfileBuildProvider.cs
- _FixedSizeReader.cs
- DeclarativeConditionsCollection.cs
- FlowDocumentScrollViewer.cs
- Sql8ConformanceChecker.cs
- PropertyPathWorker.cs
- TimerEventSubscription.cs
- ComponentCommands.cs
- DataGridCaption.cs
- HotSpot.cs
- Win32MouseDevice.cs
- CacheAxisQuery.cs
- ConstrainedDataObject.cs
- ConfigXmlWhitespace.cs
- PublisherMembershipCondition.cs
- IsolatedStorageFile.cs
- DelegateHelpers.cs
- TopClause.cs
- Subtree.cs
- Int64Storage.cs
- TextTreeUndo.cs
- DataControlButton.cs
- CheckBox.cs
- DropDownButton.cs
- WrappingXamlSchemaContext.cs
- WebPartTransformer.cs
- WindowsStartMenu.cs
- EntityDataSourceQueryBuilder.cs
- XmlSerializationWriter.cs
- XPathChildIterator.cs
- GeneralTransform3D.cs
- XmlLangPropertyAttribute.cs
- LOSFormatter.cs
- ResolveResponseInfo.cs
- Matrix.cs
- FaultReason.cs
- OdbcEnvironmentHandle.cs
- X509Certificate.cs
- SeekStoryboard.cs
- DllNotFoundException.cs
- LongTypeConverter.cs
- HtmlElementErrorEventArgs.cs
- NominalTypeEliminator.cs
- Point3DCollectionConverter.cs
- IndexerReference.cs
- ConsoleCancelEventArgs.cs
- SemaphoreSecurity.cs
- XLinq.cs
- ArrayConverter.cs
- DrawingVisualDrawingContext.cs
- BaseAppDomainProtocolHandler.cs
- WebPartVerbCollection.cs
- DecryptedHeader.cs
- EntityContainer.cs
- RequestCache.cs
- ComplexType.cs
- DataGridViewRowConverter.cs
- X509Certificate2.cs
- controlskin.cs
- XmlSchemaAnyAttribute.cs
- PrintingPermission.cs
- SettingsPropertyIsReadOnlyException.cs
- HtmlMeta.cs
- EventWaitHandle.cs
- ToolBarDesigner.cs
- SystemColors.cs
- CryptographicAttribute.cs
- AssociationProvider.cs
- XmlSchemaIdentityConstraint.cs
- InternalBufferManager.cs
- XmlEncodedRawTextWriter.cs
- UseManagedPresentationBindingElement.cs
- ResXResourceWriter.cs
- MouseWheelEventArgs.cs
- AstTree.cs
- TypeDescriptor.cs
- InvalidTimeZoneException.cs
- WebColorConverter.cs
- DataGridParentRows.cs
- MediaContext.cs
- BindToObject.cs
- DummyDataSource.cs
- MulticastNotSupportedException.cs
- BamlRecordReader.cs
- SystemColors.cs
- TemplatedWizardStep.cs
- PageOrientation.cs
- Button.cs
- AssemblyHash.cs
- x509store.cs
- XmlBinaryReaderSession.cs
- XPathException.cs
- Parser.cs
- BinaryUtilClasses.cs
- CompositeKey.cs
- PropertyRef.cs
- StringAnimationUsingKeyFrames.cs
- StrictAndMessageFilter.cs
- TreeNodeStyle.cs
- COAUTHIDENTITY.cs