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
- BaseAppDomainProtocolHandler.cs
- OrderedHashRepartitionEnumerator.cs
- DateBoldEvent.cs
- BeginStoryboard.cs
- EpmCustomContentSerializer.cs
- CalendarButton.cs
- WebRequestModulesSection.cs
- RewritingPass.cs
- CatalogZone.cs
- QilDataSource.cs
- figurelength.cs
- JournalEntryListConverter.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- CustomErrorsSection.cs
- ElementNotEnabledException.cs
- Assert.cs
- DataBoundControlHelper.cs
- RecordManager.cs
- TimeStampChecker.cs
- PassportAuthenticationModule.cs
- MultiAsyncResult.cs
- FieldToken.cs
- WorkflowOperationFault.cs
- ManipulationInertiaStartingEventArgs.cs
- DependencyPropertyChangedEventArgs.cs
- TypeUtil.cs
- ValidationErrorCollection.cs
- OleDbPermission.cs
- bidPrivateBase.cs
- MailMessage.cs
- SessionState.cs
- QueryContext.cs
- NavigatorInput.cs
- HeaderCollection.cs
- ObjectDataSourceView.cs
- WebControlParameterProxy.cs
- ErrorFormatter.cs
- DbProviderFactories.cs
- OledbConnectionStringbuilder.cs
- unsafenativemethodstextservices.cs
- XmlEncodedRawTextWriter.cs
- TemplateXamlParser.cs
- SignatureResourcePool.cs
- CalendarKeyboardHelper.cs
- EmptyEnumerable.cs
- LocalBuilder.cs
- HttpRawResponse.cs
- OleDbReferenceCollection.cs
- SignatureToken.cs
- InvalidateEvent.cs
- ILGen.cs
- CustomErrorsSectionWrapper.cs
- ProcessModelSection.cs
- BinaryFormatterWriter.cs
- HandleRef.cs
- AppLevelCompilationSectionCache.cs
- LocalBuilder.cs
- ObjectStorage.cs
- TripleDES.cs
- DataMisalignedException.cs
- WebPartVerbsEventArgs.cs
- ImageClickEventArgs.cs
- NetSectionGroup.cs
- SQLDateTime.cs
- SerializationObjectManager.cs
- TabControl.cs
- UnicodeEncoding.cs
- DbReferenceCollection.cs
- WmlTextBoxAdapter.cs
- Table.cs
- PointConverter.cs
- WinInetCache.cs
- AccessibleObject.cs
- CodeSubDirectoriesCollection.cs
- XmlSchemaCompilationSettings.cs
- indexingfiltermarshaler.cs
- KeyNotFoundException.cs
- BulletedList.cs
- KeyBinding.cs
- ConfigurationSectionHelper.cs
- BufferModeSettings.cs
- XmlQueryType.cs
- RegexCompiler.cs
- HttpRuntime.cs
- SecurityState.cs
- ImageCollectionEditor.cs
- PixelFormats.cs
- RequestQueue.cs
- MembershipAdapter.cs
- SHA256Managed.cs
- WsatAdminException.cs
- Activation.cs
- AbstractSvcMapFileLoader.cs
- GcHandle.cs
- StaticFileHandler.cs
- UserNameServiceElement.cs
- RepeatBehavior.cs
- RequestCacheEntry.cs
- TypeValidationEventArgs.cs
- SQLByteStorage.cs