Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / ExpressionBindings.cs / 1305376 / ExpressionBindings.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.Data.Common; using System.Data.Common.Utils; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees.Internal; using System.Data.Common.CommandTrees.ExpressionBuilder; namespace System.Data.Common.CommandTrees { ////// Describes a binding for an expression. Conceptually similar to a foreach loop /// in C#. The DbExpression property defines the collection being iterated over, /// while the Var property provides a means to reference the current element /// of the collection during the iteration. DbExpressionBinding is used to describe the set arguments /// to relational expressions such as ///, /// and . /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbExpressionBinding { private readonly DbExpression _expr; private readonly DbVariableReferenceExpression _varRef; internal DbExpressionBinding(DbExpression input, DbVariableReferenceExpression varRef) { Debug.Assert(input != null, "DbExpressionBinding input cannot be null"); Debug.Assert(varRef != null, "DbExpressionBinding variable cannot be null"); _expr = input; _varRef = varRef; } /// /// Gets the public DbExpression Expression { get { return _expr; } } ///that defines the input set. /// /// Gets the name assigned to the element variable. /// public string VariableName { get { return _varRef.VariableName; } } ////// Gets the type metadata of the element variable. /// public TypeUsage VariableType { get { return _varRef.ResultType; } } ////// Gets the public DbVariableReferenceExpression Variable { get { return _varRef;} } } ///that references the element variable. /// /// Defines the binding for the input set to a [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbGroupExpressionBinding { private /*readonly*/ DbExpression _expr; private readonly DbVariableReferenceExpression _varRef; private readonly DbVariableReferenceExpression _groupVarRef; private DbGroupAggregate _groupAggregate; internal DbGroupExpressionBinding(DbExpression input, DbVariableReferenceExpression inputRef, DbVariableReferenceExpression groupRef) { _expr = input; _varRef = inputRef; _groupVarRef = groupRef; } ///. /// In addition to the properties of , DbGroupExpressionBinding /// also provides access to the group element via the variable reference /// and to the group aggregate via the property. /// /// Gets the public DbExpression Expression { get { return _expr; } } ///that defines the input set. /// /// Gets the name assigned to the element variable. /// public string VariableName { get { return _varRef.VariableName; } } ////// Gets the type metadata of the element variable. /// public TypeUsage VariableType { get { return _varRef.ResultType; } } ////// Gets the DbVariableReferenceExpression that references the element variable. /// public DbVariableReferenceExpression Variable { get { return _varRef; } } ////// Gets the name assigned to the group element variable. /// public string GroupVariableName { get { return _groupVarRef.VariableName; } } ////// Gets the type metadata of the group element variable. /// public TypeUsage GroupVariableType { get { return _groupVarRef.ResultType; } } ////// Gets the DbVariableReferenceExpression that references the group element variable. /// public DbVariableReferenceExpression GroupVariable { get { return _groupVarRef; } } ////// Gets the DbGroupAggregate that represents the collection of elements of the group. /// public DbGroupAggregate GroupAggregate { get { if (_groupAggregate == null) { _groupAggregate = DbExpressionBuilder.GroupAggregate(this.GroupVariable); } return _groupAggregate; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.Data.Common; using System.Data.Common.Utils; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees.Internal; using System.Data.Common.CommandTrees.ExpressionBuilder; namespace System.Data.Common.CommandTrees { ////// Describes a binding for an expression. Conceptually similar to a foreach loop /// in C#. The DbExpression property defines the collection being iterated over, /// while the Var property provides a means to reference the current element /// of the collection during the iteration. DbExpressionBinding is used to describe the set arguments /// to relational expressions such as ///, /// and . /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbExpressionBinding { private readonly DbExpression _expr; private readonly DbVariableReferenceExpression _varRef; internal DbExpressionBinding(DbExpression input, DbVariableReferenceExpression varRef) { Debug.Assert(input != null, "DbExpressionBinding input cannot be null"); Debug.Assert(varRef != null, "DbExpressionBinding variable cannot be null"); _expr = input; _varRef = varRef; } /// /// Gets the public DbExpression Expression { get { return _expr; } } ///that defines the input set. /// /// Gets the name assigned to the element variable. /// public string VariableName { get { return _varRef.VariableName; } } ////// Gets the type metadata of the element variable. /// public TypeUsage VariableType { get { return _varRef.ResultType; } } ////// Gets the public DbVariableReferenceExpression Variable { get { return _varRef;} } } ///that references the element variable. /// /// Defines the binding for the input set to a [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public sealed class DbGroupExpressionBinding { private /*readonly*/ DbExpression _expr; private readonly DbVariableReferenceExpression _varRef; private readonly DbVariableReferenceExpression _groupVarRef; private DbGroupAggregate _groupAggregate; internal DbGroupExpressionBinding(DbExpression input, DbVariableReferenceExpression inputRef, DbVariableReferenceExpression groupRef) { _expr = input; _varRef = inputRef; _groupVarRef = groupRef; } ///. /// In addition to the properties of , DbGroupExpressionBinding /// also provides access to the group element via the variable reference /// and to the group aggregate via the property. /// /// Gets the public DbExpression Expression { get { return _expr; } } ///that defines the input set. /// /// Gets the name assigned to the element variable. /// public string VariableName { get { return _varRef.VariableName; } } ////// Gets the type metadata of the element variable. /// public TypeUsage VariableType { get { return _varRef.ResultType; } } ////// Gets the DbVariableReferenceExpression that references the element variable. /// public DbVariableReferenceExpression Variable { get { return _varRef; } } ////// Gets the name assigned to the group element variable. /// public string GroupVariableName { get { return _groupVarRef.VariableName; } } ////// Gets the type metadata of the group element variable. /// public TypeUsage GroupVariableType { get { return _groupVarRef.ResultType; } } ////// Gets the DbVariableReferenceExpression that references the group element variable. /// public DbVariableReferenceExpression GroupVariable { get { return _groupVarRef; } } ////// Gets the DbGroupAggregate that represents the collection of elements of the group. /// public DbGroupAggregate GroupAggregate { get { if (_groupAggregate == null) { _groupAggregate = DbExpressionBuilder.GroupAggregate(this.GroupVariable); } return _groupAggregate; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FullTrustAssembliesSection.cs
- validation.cs
- MethodCallTranslator.cs
- WebResourceAttribute.cs
- ParserHooks.cs
- UserPreferenceChangedEventArgs.cs
- ExpressionBuilder.cs
- XPathAncestorQuery.cs
- DocumentXmlWriter.cs
- Accessors.cs
- SynchronizedInputAdaptor.cs
- cookiecontainer.cs
- WhitespaceReader.cs
- CodeDirectoryCompiler.cs
- XsltSettings.cs
- XmlLangPropertyAttribute.cs
- XmlSignatureManifest.cs
- ForEachAction.cs
- Bits.cs
- String.cs
- WebPartActionVerb.cs
- ScrollPattern.cs
- DecoderBestFitFallback.cs
- DrawingAttributesDefaultValueFactory.cs
- PenThread.cs
- PostBackOptions.cs
- Point.cs
- ScriptResourceAttribute.cs
- PersonalizationAdministration.cs
- MulticastIPAddressInformationCollection.cs
- CategoryAttribute.cs
- BinaryFormatter.cs
- FontCollection.cs
- ChooseAction.cs
- TableStyle.cs
- SolidBrush.cs
- XComponentModel.cs
- Function.cs
- SemanticValue.cs
- InvalidFilterCriteriaException.cs
- PagesChangedEventArgs.cs
- EditorPartCollection.cs
- TextWriterTraceListener.cs
- EventMap.cs
- FileDialogCustomPlace.cs
- CatalogUtil.cs
- XPathNavigator.cs
- ObjectViewFactory.cs
- SynchronizedChannelCollection.cs
- SafeNativeMethods.cs
- DSASignatureDeformatter.cs
- PropertyInformation.cs
- DeleteIndexBinder.cs
- TypeConstant.cs
- MsmqDecodeHelper.cs
- METAHEADER.cs
- PropertyItem.cs
- ParseHttpDate.cs
- BooleanProjectedSlot.cs
- WindowsHyperlink.cs
- TreeViewHitTestInfo.cs
- ToolStripHighContrastRenderer.cs
- PropertyOverridesTypeEditor.cs
- StaticExtensionConverter.cs
- EnterpriseServicesHelper.cs
- OwnerDrawPropertyBag.cs
- DoubleAnimationUsingKeyFrames.cs
- TogglePatternIdentifiers.cs
- XmlChildNodes.cs
- FixedHighlight.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- __ConsoleStream.cs
- QilBinary.cs
- ObjectListFieldsPage.cs
- IndexOutOfRangeException.cs
- EmulateRecognizeCompletedEventArgs.cs
- TemplatedWizardStep.cs
- DecimalSumAggregationOperator.cs
- Double.cs
- BaseValidator.cs
- DataTablePropertyDescriptor.cs
- Point.cs
- Material.cs
- ResourceDictionaryCollection.cs
- TextDecorationCollection.cs
- MonthChangedEventArgs.cs
- ListControlConvertEventArgs.cs
- InvocationExpression.cs
- DataGridViewCellLinkedList.cs
- SerTrace.cs
- SqlDataSourceCommandEventArgs.cs
- LabelEditEvent.cs
- ImpersonateTokenRef.cs
- PaperSize.cs
- MailMessage.cs
- MultiTrigger.cs
- DesignerResources.cs
- MsmqMessage.cs
- ServiceBuildProvider.cs
- DataSourceCacheDurationConverter.cs