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
- AppDomainCompilerProxy.cs
- EndpointConfigContainer.cs
- JulianCalendar.cs
- InkCanvasSelection.cs
- XmlConvert.cs
- ChannelManager.cs
- EmptyArray.cs
- TypeGeneratedEventArgs.cs
- PathTooLongException.cs
- ComProxy.cs
- BooleanProjectedSlot.cs
- PointUtil.cs
- AssemblyBuilderData.cs
- BindingNavigator.cs
- Fonts.cs
- SignatureToken.cs
- ToolStripMenuItem.cs
- OrthographicCamera.cs
- SqlBooleanizer.cs
- TemplateXamlParser.cs
- SafeSystemMetrics.cs
- ChannelManagerBase.cs
- ImportContext.cs
- StringArrayEditor.cs
- XPathPatternParser.cs
- BoolExpressionVisitors.cs
- SystemIPv6InterfaceProperties.cs
- RawStylusInputReport.cs
- DeclarativeExpressionConditionDeclaration.cs
- FileLevelControlBuilderAttribute.cs
- ResourcesGenerator.cs
- ProtectedConfigurationSection.cs
- DynamicPropertyHolder.cs
- sqlpipe.cs
- MetadataItem_Static.cs
- CodeDomConfigurationHandler.cs
- XamlReaderHelper.cs
- OnOperation.cs
- HttpCachePolicyElement.cs
- XmlSchemas.cs
- ClientSession.cs
- Types.cs
- Root.cs
- SecurityContext.cs
- EntityDataSourceDataSelection.cs
- ResourcePool.cs
- ContextMarshalException.cs
- ResourcesChangeInfo.cs
- PointAnimation.cs
- Point4D.cs
- WebServicesDescriptionAttribute.cs
- ResourceDisplayNameAttribute.cs
- SmtpNtlmAuthenticationModule.cs
- QilTargetType.cs
- PropertiesTab.cs
- Popup.cs
- Image.cs
- ClientProxyGenerator.cs
- EntityClientCacheEntry.cs
- KeyValueInternalCollection.cs
- AsyncContentLoadedEventArgs.cs
- DataGridClipboardHelper.cs
- DefaultWorkflowSchedulerService.cs
- SafeReversePInvokeHandle.cs
- FrameworkContentElement.cs
- TransactionFlowBindingElementImporter.cs
- FactoryRecord.cs
- NativeMethods.cs
- ClientUtils.cs
- UnsafeNativeMethods.cs
- BamlWriter.cs
- ActiveDocumentEvent.cs
- DialogResultConverter.cs
- EmbeddedMailObjectCollectionEditor.cs
- LogEntrySerializer.cs
- DtcInterfaces.cs
- Mutex.cs
- FileChangesMonitor.cs
- GeneralTransformCollection.cs
- BypassElement.cs
- HtmlFormWrapper.cs
- ManagedWndProcTracker.cs
- WebResourceAttribute.cs
- MetadataCache.cs
- QueryServiceConfigHandle.cs
- CodeArrayIndexerExpression.cs
- _SafeNetHandles.cs
- SqlMethodCallConverter.cs
- BevelBitmapEffect.cs
- CustomWebEventKey.cs
- ServiceOperationUIEditor.cs
- GC.cs
- WebServiceErrorEvent.cs
- SqlRowUpdatedEvent.cs
- PauseStoryboard.cs
- SplitterEvent.cs
- TempFiles.cs
- BezierSegment.cs
- UnmanagedMarshal.cs
- SqlDataSourceSelectingEventArgs.cs