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
- Perspective.cs
- Choices.cs
- BrowserTree.cs
- X500Name.cs
- ResourceReferenceKeyNotFoundException.cs
- OdbcStatementHandle.cs
- DiffuseMaterial.cs
- EventLogInternal.cs
- ListViewCancelEventArgs.cs
- DataServices.cs
- SolidBrush.cs
- _DigestClient.cs
- BindingExpression.cs
- ClientTarget.cs
- DbUpdateCommandTree.cs
- SqlUtil.cs
- GrammarBuilderBase.cs
- NetworkCredential.cs
- AlgoModule.cs
- RequestCacheEntry.cs
- XhtmlBasicLabelAdapter.cs
- VectorAnimation.cs
- PolyBezierSegmentFigureLogic.cs
- SystemPens.cs
- FixedSOMPageConstructor.cs
- As.cs
- RemoteX509Token.cs
- ServiceModelConfigurationSectionGroup.cs
- HttpCookiesSection.cs
- ControlBuilderAttribute.cs
- SplayTreeNode.cs
- HostSecurityManager.cs
- PassportPrincipal.cs
- ToolStripDesignerAvailabilityAttribute.cs
- SizeConverter.cs
- webeventbuffer.cs
- DesignerSelectionListAdapter.cs
- OleDbSchemaGuid.cs
- ControlPaint.cs
- SoapAttributeAttribute.cs
- SimpleRecyclingCache.cs
- DocumentApplicationJournalEntry.cs
- AvTraceFormat.cs
- Query.cs
- AppDomain.cs
- SerializationBinder.cs
- SiteMapNodeItem.cs
- SelectionRangeConverter.cs
- BCLDebug.cs
- EntityDataSourceConfigureObjectContext.cs
- HostedHttpContext.cs
- CommandCollectionEditor.cs
- DataColumnChangeEvent.cs
- ImageDrawing.cs
- ApplyImportsAction.cs
- XmlName.cs
- DefaultParameterValueAttribute.cs
- FunctionUpdateCommand.cs
- RegexCharClass.cs
- ObjectKeyFrameCollection.cs
- CodeTypeDeclarationCollection.cs
- FacetDescription.cs
- WindowsToolbar.cs
- Validator.cs
- SqlWebEventProvider.cs
- TextBreakpoint.cs
- TabRenderer.cs
- TcpServerChannel.cs
- DependencyObject.cs
- StrokeNodeEnumerator.cs
- MergeFilterQuery.cs
- StrokeCollectionDefaultValueFactory.cs
- FontNamesConverter.cs
- DateTime.cs
- DesignerCategoryAttribute.cs
- DataGrid.cs
- XmlTextAttribute.cs
- ListChangedEventArgs.cs
- WorkItem.cs
- XmlElementList.cs
- PropertyIDSet.cs
- PropertyGeneratedEventArgs.cs
- Point.cs
- PropertyManager.cs
- CacheOutputQuery.cs
- WebScriptEndpointElement.cs
- DataListItem.cs
- HTTPNotFoundHandler.cs
- ManualResetEvent.cs
- FrameworkElementAutomationPeer.cs
- MustUnderstandBehavior.cs
- SharedConnectionListener.cs
- PageThemeParser.cs
- ResXResourceWriter.cs
- WorkflowDurableInstance.cs
- BidirectionalDictionary.cs
- XmlCustomFormatter.cs
- CanonicalXml.cs
- DeploymentSection.cs
- ClientEventManager.cs