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
- StrokeCollectionConverter.cs
- X509ChainElement.cs
- oledbconnectionstring.cs
- ScriptServiceAttribute.cs
- InternalConfigEventArgs.cs
- MsmqMessage.cs
- DesignerCategoryAttribute.cs
- TransformValueSerializer.cs
- CallSiteHelpers.cs
- WindowsStreamSecurityElement.cs
- EventBuilder.cs
- MsmqIntegrationBindingElement.cs
- _ListenerAsyncResult.cs
- ProcessStartInfo.cs
- SqlProfileProvider.cs
- DataGridViewCheckBoxColumn.cs
- WebPartDisplayModeEventArgs.cs
- SoapException.cs
- TimeoutException.cs
- RegionIterator.cs
- ApplicationGesture.cs
- SettingsPropertyWrongTypeException.cs
- TextTreeInsertElementUndoUnit.cs
- InstanceHandleReference.cs
- WizardPanelChangingEventArgs.cs
- XmlReflectionMember.cs
- XmlQueryType.cs
- FilteredXmlReader.cs
- GridViewActionList.cs
- PackageDigitalSignatureManager.cs
- XmlFormatWriterGenerator.cs
- FileAuthorizationModule.cs
- Ops.cs
- Bitmap.cs
- CodeTypeConstructor.cs
- PeerMessageDispatcher.cs
- RegexMatch.cs
- CompositeScriptReferenceEventArgs.cs
- RuntimeHandles.cs
- listitem.cs
- DefaultSerializationProviderAttribute.cs
- Pipe.cs
- TextBoxRenderer.cs
- Int32.cs
- PrinterResolution.cs
- WriteableBitmap.cs
- GetLedgerEntryForRecipientRequest.cs
- RtfToXamlReader.cs
- BitmapEffectGeneralTransform.cs
- WebPartCancelEventArgs.cs
- ExclusiveTcpListener.cs
- FormViewUpdateEventArgs.cs
- ToolStripDropTargetManager.cs
- ColumnCollection.cs
- SystemFonts.cs
- NonClientArea.cs
- ToolStripPanel.cs
- OutputCacheSettings.cs
- userdatakeys.cs
- StringSorter.cs
- TypeElementCollection.cs
- HybridCollection.cs
- FieldToken.cs
- RowCache.cs
- XmlTextReader.cs
- XmlSchemaValidator.cs
- TemplateNameScope.cs
- DataStreamFromComStream.cs
- Package.cs
- SortQuery.cs
- LineBreakRecord.cs
- PrinterUnitConvert.cs
- SqlFileStream.cs
- TextEndOfLine.cs
- ResponseBodyWriter.cs
- PassportIdentity.cs
- TemplateControlParser.cs
- SecureEnvironment.cs
- CookielessHelper.cs
- ImageUrlEditor.cs
- SplitterPanel.cs
- ImageKeyConverter.cs
- RealizationContext.cs
- Vector3dCollection.cs
- InternalSafeNativeMethods.cs
- CompileXomlTask.cs
- ResourceDictionaryCollection.cs
- EntityProxyTypeInfo.cs
- DbModificationCommandTree.cs
- MarshalByRefObject.cs
- CorrelationKey.cs
- AppDomainAttributes.cs
- TransformedBitmap.cs
- DbCommandDefinition.cs
- _MultipleConnectAsync.cs
- SignatureHelper.cs
- TraceUtility.cs
- OutKeywords.cs
- Column.cs
- RandomDelayQueuedSendsAsyncResult.cs