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
- SqlAliaser.cs
- TemplateControl.cs
- BlobPersonalizationState.cs
- XPathNodeHelper.cs
- IsolatedStoragePermission.cs
- SchemaElementDecl.cs
- InputScopeAttribute.cs
- RawAppCommandInputReport.cs
- Odbc32.cs
- MemberHolder.cs
- MailWriter.cs
- WebBrowsableAttribute.cs
- SourceInterpreter.cs
- _ShellExpression.cs
- MediaContext.cs
- Content.cs
- WpfKnownMemberInvoker.cs
- DependencyObjectType.cs
- ItemContainerGenerator.cs
- QEncodedStream.cs
- IdentitySection.cs
- DoubleKeyFrameCollection.cs
- XPathQueryGenerator.cs
- FontFaceLayoutInfo.cs
- ToolStripActionList.cs
- SecurityUtils.cs
- AmbientValueAttribute.cs
- FactoryGenerator.cs
- SqlRemoveConstantOrderBy.cs
- AliasedSlot.cs
- ContextMenuStrip.cs
- WMIInterop.cs
- EnumerationRangeValidationUtil.cs
- ArrayList.cs
- InputScopeManager.cs
- DoubleStorage.cs
- oledbmetadatacollectionnames.cs
- DataServiceProviderWrapper.cs
- ProcessThread.cs
- HttpCacheParams.cs
- ProxyFragment.cs
- StylusPlugin.cs
- ApplicationContext.cs
- DatasetMethodGenerator.cs
- PersonalizationProviderCollection.cs
- MessagePropertyDescriptionCollection.cs
- NetworkAddressChange.cs
- SystemColorTracker.cs
- Profiler.cs
- PersistenceContext.cs
- AxHostDesigner.cs
- DataGridViewCellStateChangedEventArgs.cs
- NestedContainer.cs
- NavigationCommands.cs
- DiscreteKeyFrames.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- Container.cs
- SymbolUsageManager.cs
- MemberHolder.cs
- ChannelTokenTypeConverter.cs
- ConnectionStringsExpressionBuilder.cs
- graph.cs
- HealthMonitoringSectionHelper.cs
- UserControlBuildProvider.cs
- WebCategoryAttribute.cs
- QilBinary.cs
- SizeAnimationBase.cs
- InternalBufferManager.cs
- InternalBase.cs
- KeyEventArgs.cs
- EntityDataSourceQueryBuilder.cs
- Constant.cs
- SqlUtil.cs
- TimeEnumHelper.cs
- VideoDrawing.cs
- DataPagerFieldCollection.cs
- XPathNavigatorKeyComparer.cs
- FunctionUpdateCommand.cs
- InputMethodStateChangeEventArgs.cs
- SafeFileMappingHandle.cs
- NameValueConfigurationElement.cs
- BindingMAnagerBase.cs
- CheckBox.cs
- DataGridViewCellConverter.cs
- HeaderedContentControl.cs
- DBSchemaRow.cs
- XmlILOptimizerVisitor.cs
- ConsumerConnectionPoint.cs
- SessionStateUtil.cs
- Message.cs
- LocalBuilder.cs
- InputMethodStateChangeEventArgs.cs
- Grant.cs
- Transform3DGroup.cs
- OdbcConnectionPoolProviderInfo.cs
- CodeGen.cs
- PeerApplicationLaunchInfo.cs
- MediaSystem.cs
- DbTransaction.cs
- PeerObject.cs