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
- PropertyPathWorker.cs
- CategoryAttribute.cs
- Window.cs
- ManagementEventArgs.cs
- SpinLock.cs
- SQLDecimalStorage.cs
- WinFormsSecurity.cs
- TextEditorSelection.cs
- ExtensionSimplifierMarkupObject.cs
- HtmlElementEventArgs.cs
- TextBox.cs
- FocusManager.cs
- JpegBitmapDecoder.cs
- ToggleButton.cs
- PrimitiveCodeDomSerializer.cs
- QilTargetType.cs
- Publisher.cs
- DateTimeConverter.cs
- CopyAttributesAction.cs
- HtmlSelect.cs
- SoapTypeAttribute.cs
- AmbientLight.cs
- HMACMD5.cs
- FlowNode.cs
- DbConnectionPoolCounters.cs
- DesignOnlyAttribute.cs
- _SingleItemRequestCache.cs
- CustomWebEventKey.cs
- PassportAuthentication.cs
- MDIControlStrip.cs
- securitymgrsite.cs
- SerializableAuthorizationContext.cs
- StrokeFIndices.cs
- InputLanguageProfileNotifySink.cs
- HyperLinkField.cs
- IntPtr.cs
- DefaultHttpHandler.cs
- TableRow.cs
- DataBindingHandlerAttribute.cs
- HandleCollector.cs
- LoginName.cs
- DataGridViewCellStyleBuilderDialog.cs
- TreeNodeBindingCollection.cs
- SharedDp.cs
- TextEffectCollection.cs
- QilList.cs
- FilteredXmlReader.cs
- Int64AnimationUsingKeyFrames.cs
- Utilities.cs
- Overlapped.cs
- PackageRelationshipCollection.cs
- _NTAuthentication.cs
- ReferencedAssembly.cs
- ProcessHostMapPath.cs
- InstanceHandleConflictException.cs
- SecurityResources.cs
- HttpsHostedTransportConfiguration.cs
- Thumb.cs
- AncestorChangedEventArgs.cs
- AccessControlEntry.cs
- DataKeyArray.cs
- XmlElement.cs
- AdapterDictionary.cs
- ArrayExtension.cs
- ReflectTypeDescriptionProvider.cs
- DrawingImage.cs
- ItemDragEvent.cs
- CriticalFinalizerObject.cs
- CommandConverter.cs
- SystemIPv6InterfaceProperties.cs
- DragDrop.cs
- Rotation3DKeyFrameCollection.cs
- PersonalizationStateInfo.cs
- AppLevelCompilationSectionCache.cs
- SafeThreadHandle.cs
- DNS.cs
- SafeNativeMethodsCLR.cs
- FileAuthorizationModule.cs
- TimeEnumHelper.cs
- BooleanFacetDescriptionElement.cs
- EndpointAddress.cs
- QueryReaderSettings.cs
- TextDecoration.cs
- GridViewAutoFormat.cs
- SslStream.cs
- HwndHostAutomationPeer.cs
- XmlSerializerSection.cs
- SecurityElement.cs
- Pair.cs
- ActivityMarkupSerializer.cs
- DetailsViewUpdatedEventArgs.cs
- MultiTargetingUtil.cs
- DataContractSerializerOperationBehavior.cs
- OrderedDictionaryStateHelper.cs
- MailBnfHelper.cs
- DesignerTransaction.cs
- SweepDirectionValidation.cs
- ImportContext.cs
- TimeZoneNotFoundException.cs
- FieldMetadata.cs