Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DLinq / Dlinq / SqlClient / Query / SqlAggregateChecker.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RadioButtonStandardAdapter.cs
- AssociatedControlConverter.cs
- SelfIssuedAuthRSACryptoProvider.cs
- EmptyStringExpandableObjectConverter.cs
- DBNull.cs
- ClientSettingsStore.cs
- RecognizeCompletedEventArgs.cs
- EncoderReplacementFallback.cs
- XPathBuilder.cs
- SatelliteContractVersionAttribute.cs
- EnumValAlphaComparer.cs
- Logging.cs
- NamespaceQuery.cs
- ColumnPropertiesGroup.cs
- GcHandle.cs
- BinaryParser.cs
- SyndicationItem.cs
- ICspAsymmetricAlgorithm.cs
- ResourceDictionary.cs
- Converter.cs
- Thumb.cs
- DataControlExtensions.cs
- QueryContinueDragEventArgs.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- SessionStateModule.cs
- OracleRowUpdatingEventArgs.cs
- ColorTransform.cs
- ManagementException.cs
- TcpStreams.cs
- TaskDesigner.cs
- NavigationProperty.cs
- AppearanceEditorPart.cs
- InvokeMethod.cs
- TypedDatasetGenerator.cs
- HistoryEventArgs.cs
- XsdDateTime.cs
- OracleConnectionFactory.cs
- WebScriptServiceHost.cs
- ContainerUtilities.cs
- SafeHandles.cs
- FontFamilyIdentifier.cs
- MD5CryptoServiceProvider.cs
- Stroke2.cs
- StrokeNodeOperations2.cs
- ExpandableObjectConverter.cs
- Win32Native.cs
- ExtensionDataReader.cs
- FormParameter.cs
- UpdateCommandGenerator.cs
- CodeIdentifier.cs
- SchemaLookupTable.cs
- WebContentFormatHelper.cs
- CfgSemanticTag.cs
- DoubleUtil.cs
- ProgressChangedEventArgs.cs
- ByteStorage.cs
- EmptyCollection.cs
- InstanceDataCollectionCollection.cs
- AncillaryOps.cs
- ManagementBaseObject.cs
- bidPrivateBase.cs
- IItemContainerGenerator.cs
- XmlSchemaIdentityConstraint.cs
- Simplifier.cs
- EventToken.cs
- Item.cs
- TransformPattern.cs
- PartialList.cs
- MsmqIntegrationSecurity.cs
- UnsafeNativeMethods.cs
- HashRepartitionEnumerator.cs
- SimpleRecyclingCache.cs
- ProcessInputEventArgs.cs
- LayoutTableCell.cs
- X509ChainPolicy.cs
- RulePatternOps.cs
- ReflectionTypeLoadException.cs
- FormViewCommandEventArgs.cs
- BindingContext.cs
- DCSafeHandle.cs
- SourceFilter.cs
- ConfigWriter.cs
- MultiByteCodec.cs
- DictionaryEntry.cs
- DBSchemaRow.cs
- ValidatingPropertiesEventArgs.cs
- CatalogPart.cs
- ResourcesBuildProvider.cs
- ContextTokenTypeConverter.cs
- ToolStrip.cs
- ManipulationCompletedEventArgs.cs
- GridViewDeleteEventArgs.cs
- OutputBuffer.cs
- UdpChannelFactory.cs
- DocumentXmlWriter.cs
- TemplatedWizardStep.cs
- WindowsRegion.cs
- DbInsertCommandTree.cs
- JournalEntryListConverter.cs
- LogicalExpr.cs