Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- PanelStyle.cs
- JournalEntryStack.cs
- System.Data_BID.cs
- WSSecureConversation.cs
- MetaDataInfo.cs
- FrameworkObject.cs
- InstanceLockTracking.cs
- HotSpotCollectionEditor.cs
- CustomCategoryAttribute.cs
- ObfuscationAttribute.cs
- messageonlyhwndwrapper.cs
- ServiceElement.cs
- DbConnectionInternal.cs
- ItemsControl.cs
- PasswordDeriveBytes.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- ResolvedKeyFrameEntry.cs
- CodeGotoStatement.cs
- FieldToken.cs
- DocumentViewerAutomationPeer.cs
- StringValidatorAttribute.cs
- MimeWriter.cs
- DuplicateWaitObjectException.cs
- Currency.cs
- Helpers.cs
- TokenBasedSetEnumerator.cs
- XmlSchemaInclude.cs
- IssuanceLicense.cs
- RightsManagementEncryptedStream.cs
- AttributeUsageAttribute.cs
- MultipleViewPattern.cs
- AppDomainAttributes.cs
- HMACRIPEMD160.cs
- SafeBitVector32.cs
- ResourceSet.cs
- SurrogateEncoder.cs
- WindowsUpDown.cs
- Misc.cs
- IndexedGlyphRun.cs
- ProfileManager.cs
- Int64Storage.cs
- XslAstAnalyzer.cs
- FormatSettings.cs
- DataSourceConverter.cs
- ImpersonationContext.cs
- RequiredAttributeAttribute.cs
- BrowserDefinitionCollection.cs
- NativeCompoundFileAPIs.cs
- EventMappingSettingsCollection.cs
- PropertyDescriptor.cs
- CollectionBuilder.cs
- CodeChecksumPragma.cs
- XmlSchemaObject.cs
- PeerCollaborationPermission.cs
- ContentPlaceHolder.cs
- SQLSingleStorage.cs
- XmlHierarchyData.cs
- ConnectionStringsSection.cs
- TemplatePropertyEntry.cs
- fixedPageContentExtractor.cs
- GridViewCancelEditEventArgs.cs
- WebServiceReceive.cs
- SHA384Cng.cs
- GridViewColumnHeader.cs
- XmlDownloadManager.cs
- SystemTcpConnection.cs
- DoubleLinkListEnumerator.cs
- KeyedHashAlgorithm.cs
- ListViewGroupItemCollection.cs
- ConnectionInterfaceCollection.cs
- ImageAttributes.cs
- WindowsTokenRoleProvider.cs
- FocusChangedEventArgs.cs
- CodeTypeMemberCollection.cs
- DataObjectFieldAttribute.cs
- DTCTransactionManager.cs
- IdentityHolder.cs
- ScriptComponentDescriptor.cs
- ColorTranslator.cs
- Configuration.cs
- TargetException.cs
- SiteMapDataSource.cs
- SevenBitStream.cs
- MLangCodePageEncoding.cs
- AnimationClock.cs
- RecognizeCompletedEventArgs.cs
- OleDbRowUpdatedEvent.cs
- VirtualPathUtility.cs
- CollectionChangedEventManager.cs
- Int16AnimationBase.cs
- ComponentChangedEvent.cs
- XmlTypeAttribute.cs
- ArithmeticLiteral.cs
- ProtocolViolationException.cs
- ContentFilePart.cs
- RichTextBoxConstants.cs
- DoubleLinkList.cs
- FormsAuthenticationUser.cs
- ThaiBuddhistCalendar.cs
- EntityContainer.cs