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
- ReadWriteControlDesigner.cs
- MetadataItemEmitter.cs
- StatusBar.cs
- MemberCollection.cs
- FrameworkReadOnlyPropertyMetadata.cs
- XmlCodeExporter.cs
- XmlText.cs
- ClientTargetCollection.cs
- XhtmlBasicLinkAdapter.cs
- SQLRoleProvider.cs
- SqlExpressionNullability.cs
- DataList.cs
- UriSectionReader.cs
- FaultReasonText.cs
- _DisconnectOverlappedAsyncResult.cs
- HiddenFieldPageStatePersister.cs
- ServerIdentity.cs
- TreeIterators.cs
- SmiContextFactory.cs
- MethodBuilder.cs
- MailWebEventProvider.cs
- ConnectorSelectionGlyph.cs
- SoapInteropTypes.cs
- WebPartAuthorizationEventArgs.cs
- XsltException.cs
- StrokeNodeOperations2.cs
- EventPropertyMap.cs
- querybuilder.cs
- FieldNameLookup.cs
- StrongBox.cs
- SqlLiftIndependentRowExpressions.cs
- ElasticEase.cs
- PropertyGridCommands.cs
- TreeNodeBindingCollection.cs
- ClientScriptManager.cs
- BadImageFormatException.cs
- Point3D.cs
- HtmlInputButton.cs
- CharAnimationBase.cs
- ServiceBuildProvider.cs
- TreeView.cs
- CellConstantDomain.cs
- XmlnsDictionary.cs
- XmlSchemaExternal.cs
- EnumMember.cs
- WindowsSolidBrush.cs
- StoreItemCollection.Loader.cs
- EventHandlingScope.cs
- SystemIPAddressInformation.cs
- ImageMapEventArgs.cs
- ClientScriptManager.cs
- DesignerAttributeInfo.cs
- ResourceReferenceExpression.cs
- ProxyGenerationError.cs
- ThousandthOfEmRealDoubles.cs
- TextBoxLine.cs
- _BaseOverlappedAsyncResult.cs
- StylusPointDescription.cs
- XmlNodeList.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- PointLight.cs
- Unit.cs
- MimeMapping.cs
- SecurityProtocolFactory.cs
- ToolStripItemTextRenderEventArgs.cs
- DataSourceProvider.cs
- CustomBindingCollectionElement.cs
- StrokeCollection2.cs
- OleDbError.cs
- EmptyEnumerable.cs
- BooleanFacetDescriptionElement.cs
- CallbackException.cs
- FormViewAutoFormat.cs
- AsyncOperation.cs
- MethodAccessException.cs
- Screen.cs
- DynamicResourceExtension.cs
- _Rfc2616CacheValidators.cs
- LineInfo.cs
- XPathNode.cs
- ComponentConverter.cs
- rsa.cs
- IDispatchConstantAttribute.cs
- HttpListenerContext.cs
- PermissionSetEnumerator.cs
- PlainXmlDeserializer.cs
- StatusStrip.cs
- ZoomingMessageFilter.cs
- DoubleCollectionConverter.cs
- MaskInputRejectedEventArgs.cs
- ScriptControl.cs
- AsyncContentLoadedEventArgs.cs
- DecoderFallbackWithFailureFlag.cs
- RouteUrlExpressionBuilder.cs
- PluralizationServiceUtil.cs
- mansign.cs
- SafeHandle.cs
- FontClient.cs
- SamlAttribute.cs
- WindowsContainer.cs