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
- ClearTypeHintValidation.cs
- ValidatorCollection.cs
- CommandEventArgs.cs
- ISFTagAndGuidCache.cs
- ProcessHostFactoryHelper.cs
- LogRecordSequence.cs
- ScrollBar.cs
- ScrollChrome.cs
- XmlSchemaSimpleContentRestriction.cs
- TableItemPatternIdentifiers.cs
- HwndTarget.cs
- DelegateBodyWriter.cs
- SQLUtility.cs
- MembershipPasswordException.cs
- DataGridRowHeaderAutomationPeer.cs
- PageCodeDomTreeGenerator.cs
- EncoderParameters.cs
- ValidationErrorCollection.cs
- CancelEventArgs.cs
- TextCompositionManager.cs
- EventLogQuery.cs
- TextSelectionProcessor.cs
- AnimationException.cs
- GroupBox.cs
- XPathScanner.cs
- DrawingState.cs
- SQLByteStorage.cs
- Message.cs
- TagMapInfo.cs
- ColorAnimationUsingKeyFrames.cs
- SchemaNotation.cs
- SimpleHandlerFactory.cs
- Triplet.cs
- MethodSignatureGenerator.cs
- HelpInfo.cs
- ChooseAction.cs
- CompensatableTransactionScopeActivityDesigner.cs
- OutputCacheProfile.cs
- DataGridViewTextBoxCell.cs
- LinearKeyFrames.cs
- IncrementalReadDecoders.cs
- NameService.cs
- VirtualDirectoryMappingCollection.cs
- TextBreakpoint.cs
- FrugalList.cs
- ProgressBarBrushConverter.cs
- RelatedPropertyManager.cs
- ReferenceCountedObject.cs
- EmptyCollection.cs
- TdsValueSetter.cs
- SqlDataAdapter.cs
- OdbcRowUpdatingEvent.cs
- SchemaCollectionPreprocessor.cs
- KeyEvent.cs
- WebPartConnectionsEventArgs.cs
- GlyphShapingProperties.cs
- XmlKeywords.cs
- DataGridTextBox.cs
- AncestorChangedEventArgs.cs
- XmlIlVisitor.cs
- SchemaMapping.cs
- DropDownList.cs
- StateWorkerRequest.cs
- RuntimeVariablesExpression.cs
- ExpressionBuilderCollection.cs
- TextEndOfLine.cs
- RightsManagementEncryptedStream.cs
- ConnectionConsumerAttribute.cs
- MexHttpsBindingElement.cs
- Activity.cs
- entityreference_tresulttype.cs
- SapiRecognizer.cs
- TypeUnloadedException.cs
- AccessDataSourceView.cs
- XamlBrushSerializer.cs
- HttpGetProtocolImporter.cs
- LostFocusEventManager.cs
- AutoGeneratedField.cs
- NetDataContractSerializer.cs
- ObjectHelper.cs
- Query.cs
- ActivityTypeCodeDomSerializer.cs
- WebConfigurationFileMap.cs
- ListBase.cs
- SuppressMergeCheckAttribute.cs
- HyperLinkStyle.cs
- ReliableSessionBindingElementImporter.cs
- DPTypeDescriptorContext.cs
- TableCell.cs
- ConfigurationSectionCollection.cs
- ComponentFactoryHelpers.cs
- ComponentEditorPage.cs
- SplitterDesigner.cs
- HttpRequest.cs
- PrinterResolution.cs
- AdRotatorDesigner.cs
- InputQueue.cs
- WindowsFormsSectionHandler.cs
- WorkflowPersistenceContext.cs
- EFDataModelProvider.cs