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
- TreeNodeEventArgs.cs
- SqlRecordBuffer.cs
- InvokeDelegate.cs
- LocalizabilityAttribute.cs
- ChildDocumentBlock.cs
- FocusWithinProperty.cs
- embossbitmapeffect.cs
- QilPatternVisitor.cs
- ArraySortHelper.cs
- SmtpException.cs
- LogStore.cs
- dbdatarecord.cs
- AnnotationResource.cs
- VectorConverter.cs
- SqlUDTStorage.cs
- IDataContractSurrogate.cs
- _SafeNetHandles.cs
- ProxyFragment.cs
- SchemaContext.cs
- X509Certificate2.cs
- MatrixUtil.cs
- TreeIterator.cs
- OptimisticConcurrencyException.cs
- CultureInfoConverter.cs
- SecurityDocument.cs
- Annotation.cs
- ListControlBuilder.cs
- Parsers.cs
- HandleExceptionArgs.cs
- TdsParser.cs
- DbDataAdapter.cs
- GridViewRowEventArgs.cs
- WebSysDefaultValueAttribute.cs
- Literal.cs
- VisualStyleRenderer.cs
- ColorTransform.cs
- SizeIndependentAnimationStorage.cs
- DrawingContext.cs
- PropertyTab.cs
- ListDesigner.cs
- Int32AnimationUsingKeyFrames.cs
- InvokeMethodActivityDesigner.cs
- WebMessageEncodingElement.cs
- TreeViewDesigner.cs
- PathStreamGeometryContext.cs
- DefaultBinder.cs
- OpenTypeLayout.cs
- EdmSchemaAttribute.cs
- BitVector32.cs
- GridViewAutomationPeer.cs
- WindowsToolbar.cs
- KeyboardDevice.cs
- XPathDocumentBuilder.cs
- SqlCacheDependency.cs
- FocusManager.cs
- ListMarkerSourceInfo.cs
- ClientRuntimeConfig.cs
- Int64Storage.cs
- PseudoWebRequest.cs
- Column.cs
- NavigatorOutput.cs
- SignatureDescription.cs
- ComNativeDescriptor.cs
- AssociationSetEnd.cs
- FileRegion.cs
- ChannelManagerService.cs
- HtmlShimManager.cs
- FileNotFoundException.cs
- GC.cs
- DbConnectionPool.cs
- DataSourceUtil.cs
- SmtpNetworkElement.cs
- XmlEntity.cs
- IPAddress.cs
- ThreadAttributes.cs
- ObjectQueryProvider.cs
- AddInStore.cs
- DocobjHost.cs
- OleDbParameter.cs
- WMICapabilities.cs
- CachingParameterInspector.cs
- InputQueue.cs
- BitHelper.cs
- StorageTypeMapping.cs
- TypeConstant.cs
- IsolatedStorage.cs
- Span.cs
- ConfigurationStrings.cs
- CompilationRelaxations.cs
- DataGridPageChangedEventArgs.cs
- CheckBox.cs
- DescriptionAttribute.cs
- dbdatarecord.cs
- XmlSecureResolver.cs
- LinearKeyFrames.cs
- HtmlFormAdapter.cs
- SetIndexBinder.cs
- ReturnEventArgs.cs
- sqlnorm.cs
- MetadataHelper.cs