Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / internal / materialization / recordstatescratchpad.cs / 1599186 / recordstatescratchpad.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace System.Data.Common.Internal.Materialization { ////// Used in the Translator to aggregate information about a (nested) record /// state. After the translator visits the columnMaps, it will compile /// the recordState(s) which produces an immutable RecordStateFactory that /// can be shared amongst many query instances. /// internal class RecordStateScratchpad { private int _stateSlotNumber; internal int StateSlotNumber { get { return _stateSlotNumber; } set { _stateSlotNumber = value; } } private int _columnCount; internal int ColumnCount { get { return _columnCount; } set { _columnCount = value; } } private DataRecordInfo _dataRecordInfo; internal DataRecordInfo DataRecordInfo { get { return _dataRecordInfo; } set { _dataRecordInfo = value; } } private Expression _gatherData; internal Expression GatherData { get { return _gatherData; } set { _gatherData = value; } } private string[] _propertyNames; internal string[] PropertyNames { get { return _propertyNames; } set { _propertyNames = value; } } private TypeUsage[] _typeUsages; internal TypeUsage[] TypeUsages { get { return _typeUsages; } set { _typeUsages = value; } } private List_nestedRecordStateScratchpads = new List (); [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] internal RecordStateFactory Compile() { RecordStateFactory[] nestedRecordStateFactories = new RecordStateFactory[_nestedRecordStateScratchpads.Count]; for (int i = 0; i < nestedRecordStateFactories.Length; i++) { nestedRecordStateFactories[i] = _nestedRecordStateScratchpads[i].Compile(); } RecordStateFactory result = (RecordStateFactory)Activator.CreateInstance(typeof(RecordStateFactory), new object[] { this.StateSlotNumber, this.ColumnCount, nestedRecordStateFactories, this.DataRecordInfo, this.GatherData, this.PropertyNames, this.TypeUsages }); return result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace System.Data.Common.Internal.Materialization { ////// Used in the Translator to aggregate information about a (nested) record /// state. After the translator visits the columnMaps, it will compile /// the recordState(s) which produces an immutable RecordStateFactory that /// can be shared amongst many query instances. /// internal class RecordStateScratchpad { private int _stateSlotNumber; internal int StateSlotNumber { get { return _stateSlotNumber; } set { _stateSlotNumber = value; } } private int _columnCount; internal int ColumnCount { get { return _columnCount; } set { _columnCount = value; } } private DataRecordInfo _dataRecordInfo; internal DataRecordInfo DataRecordInfo { get { return _dataRecordInfo; } set { _dataRecordInfo = value; } } private Expression _gatherData; internal Expression GatherData { get { return _gatherData; } set { _gatherData = value; } } private string[] _propertyNames; internal string[] PropertyNames { get { return _propertyNames; } set { _propertyNames = value; } } private TypeUsage[] _typeUsages; internal TypeUsage[] TypeUsages { get { return _typeUsages; } set { _typeUsages = value; } } private List_nestedRecordStateScratchpads = new List (); [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] internal RecordStateFactory Compile() { RecordStateFactory[] nestedRecordStateFactories = new RecordStateFactory[_nestedRecordStateScratchpads.Count]; for (int i = 0; i < nestedRecordStateFactories.Length; i++) { nestedRecordStateFactories[i] = _nestedRecordStateScratchpads[i].Compile(); } RecordStateFactory result = (RecordStateFactory)Activator.CreateInstance(typeof(RecordStateFactory), new object[] { this.StateSlotNumber, this.ColumnCount, nestedRecordStateFactories, this.DataRecordInfo, this.GatherData, this.PropertyNames, this.TypeUsages }); return result; } } } // 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
- CatalogPartCollection.cs
- UITypeEditor.cs
- DelayDesigner.cs
- RelationshipEndMember.cs
- HyperlinkAutomationPeer.cs
- DataGridBoundColumn.cs
- SimpleExpression.cs
- WindowsListViewGroup.cs
- DataColumnSelectionConverter.cs
- SignedPkcs7.cs
- NavigationProperty.cs
- SectionVisual.cs
- fixedPageContentExtractor.cs
- FixedBufferAttribute.cs
- ConfigXmlSignificantWhitespace.cs
- ToolStripSeparator.cs
- PerfProviderCollection.cs
- TargetParameterCountException.cs
- Guid.cs
- QuaternionKeyFrameCollection.cs
- EntityProviderServices.cs
- Button.cs
- HttpGetClientProtocol.cs
- VSDExceptions.cs
- HtmlValidatorAdapter.cs
- TextRunTypographyProperties.cs
- ProcessModule.cs
- HTTPNotFoundHandler.cs
- ResourceDisplayNameAttribute.cs
- UiaCoreApi.cs
- PropertyGridView.cs
- HandleRef.cs
- SmiEventSink.cs
- ExpressionReplacer.cs
- StringExpressionSet.cs
- TextEndOfParagraph.cs
- SqlCachedBuffer.cs
- Vector3DCollection.cs
- HandlerBase.cs
- AffineTransform3D.cs
- Wow64ConfigurationLoader.cs
- RectAnimationBase.cs
- EpmCustomContentSerializer.cs
- CompressEmulationStream.cs
- FamilyTypeface.cs
- ProviderMetadataCachedInformation.cs
- EntityKey.cs
- PropertyValueChangedEvent.cs
- RectKeyFrameCollection.cs
- MultiTrigger.cs
- _ListenerRequestStream.cs
- WmfPlaceableFileHeader.cs
- RtfControls.cs
- CommandTreeTypeHelper.cs
- ObjectParameterCollection.cs
- ColorContextHelper.cs
- WarningException.cs
- BaseCollection.cs
- XmlSchemaParticle.cs
- UIAgentRequest.cs
- CallContext.cs
- UpdateExpressionVisitor.cs
- WhitespaceRuleLookup.cs
- ColumnPropertiesGroup.cs
- CompareInfo.cs
- ObjectDataSourceSelectingEventArgs.cs
- BasicExpandProvider.cs
- Group.cs
- ThreadStaticAttribute.cs
- Path.cs
- XmlExtensionFunction.cs
- DataGridViewRowsAddedEventArgs.cs
- JsonDeserializer.cs
- PerfCounterSection.cs
- ProfileService.cs
- Int32Rect.cs
- CodePageEncoding.cs
- XmlConverter.cs
- util.cs
- ClientCredentialsSecurityTokenManager.cs
- ContextProperty.cs
- ConfigsHelper.cs
- DocumentationServerProtocol.cs
- SharedStatics.cs
- ValidatorCompatibilityHelper.cs
- AspNetSynchronizationContext.cs
- listitem.cs
- Assign.cs
- MailMessageEventArgs.cs
- WorkflowDesigner.cs
- SQLGuid.cs
- ResXBuildProvider.cs
- XmlSerializationGeneratedCode.cs
- HatchBrush.cs
- SelectionManager.cs
- DefaultMemberAttribute.cs
- ErrorItem.cs
- HtmlSelect.cs
- Converter.cs
- PersonalizablePropertyEntry.cs