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
- Rect3D.cs
- TimeSpan.cs
- WebPartConnectionsConfigureVerb.cs
- HtmlControl.cs
- RuleSettings.cs
- pingexception.cs
- TripleDES.cs
- Win32KeyboardDevice.cs
- _SSPIWrapper.cs
- DataGridTablesFactory.cs
- BitmapEffect.cs
- AnnotationAuthorChangedEventArgs.cs
- BamlLocalizableResource.cs
- PackageFilter.cs
- CompressionTracing.cs
- DriveInfo.cs
- ParameterModifier.cs
- SingleAnimation.cs
- InputScopeNameConverter.cs
- WebPartTransformerAttribute.cs
- BitmapEffectState.cs
- WsdlWriter.cs
- FolderBrowserDialog.cs
- EventLogEntry.cs
- FeatureSupport.cs
- AttributeAction.cs
- PageCodeDomTreeGenerator.cs
- Span.cs
- OdbcRowUpdatingEvent.cs
- CDSCollectionETWBCLProvider.cs
- LineBreak.cs
- MimeReflector.cs
- DesignerSelectionListAdapter.cs
- PeerApplicationLaunchInfo.cs
- ZipPackagePart.cs
- SqlUserDefinedTypeAttribute.cs
- EventLogPermissionEntryCollection.cs
- ViewBase.cs
- TableLayoutPanelCellPosition.cs
- DataRowComparer.cs
- DataObject.cs
- IdentityManager.cs
- XmlWellformedWriterHelpers.cs
- DbBuffer.cs
- CryptographicAttribute.cs
- CultureTableRecord.cs
- DataGridViewRowStateChangedEventArgs.cs
- SessionState.cs
- WorkflowDebuggerSteppingAttribute.cs
- PostBackOptions.cs
- _SafeNetHandles.cs
- DocumentReference.cs
- WeakKeyDictionary.cs
- Exception.cs
- HtmlInputFile.cs
- ParamArrayAttribute.cs
- TransformerInfo.cs
- WSTrustDec2005.cs
- DebuggerAttributes.cs
- MessageBox.cs
- SHA256Cng.cs
- SchemaMapping.cs
- PropertyValueUIItem.cs
- ServerIdentity.cs
- recordstate.cs
- ListControlDataBindingHandler.cs
- FontCacheUtil.cs
- XsltFunctions.cs
- COM2IDispatchConverter.cs
- ping.cs
- HashHelper.cs
- SQLMembershipProvider.cs
- PreservationFileReader.cs
- DbMetaDataColumnNames.cs
- XmlWhitespace.cs
- MessageSecurityVersionConverter.cs
- SrgsRule.cs
- CultureMapper.cs
- HtmlUtf8RawTextWriter.cs
- CharacterHit.cs
- Line.cs
- ExpressionEvaluator.cs
- TemplateControlCodeDomTreeGenerator.cs
- ValidatedControlConverter.cs
- KeyedQueue.cs
- FlowDocument.cs
- DragDrop.cs
- QuinticEase.cs
- FixedHighlight.cs
- HtmlImage.cs
- SchemaTableOptionalColumn.cs
- PropertyToken.cs
- GeneratedCodeAttribute.cs
- MemberAccessException.cs
- CryptoApi.cs
- XmlUrlResolver.cs
- URL.cs
- CodeMemberProperty.cs
- MouseButton.cs
- FontDifferentiator.cs