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
- ComboBoxRenderer.cs
- SecurityValidationBehavior.cs
- AccessedThroughPropertyAttribute.cs
- ValueUtilsSmi.cs
- ValidationHelper.cs
- LocalizedNameDescriptionPair.cs
- CustomErrorsSection.cs
- RightsManagementPermission.cs
- CloudCollection.cs
- LineGeometry.cs
- ComboBoxRenderer.cs
- JoinSymbol.cs
- ComponentDispatcher.cs
- ServiceMemoryGates.cs
- ADMembershipProvider.cs
- securitymgrsite.cs
- PropertyStore.cs
- HttpApplicationFactory.cs
- DynamicUpdateCommand.cs
- SelectedCellsCollection.cs
- BaseParser.cs
- TableItemPatternIdentifiers.cs
- DataBoundLiteralControl.cs
- FrameworkTemplate.cs
- RtfToken.cs
- HitTestParameters.cs
- RequestCacheEntry.cs
- FormatterServices.cs
- CompilationSection.cs
- GACMembershipCondition.cs
- ObjectItemCollection.cs
- TableCellAutomationPeer.cs
- SocketPermission.cs
- LayoutEvent.cs
- FormCollection.cs
- Processor.cs
- DisposableCollectionWrapper.cs
- GroupByExpressionRewriter.cs
- IImplicitResourceProvider.cs
- PipeStream.cs
- StaticFileHandler.cs
- EntitySqlQueryState.cs
- SettingsAttributeDictionary.cs
- LogLogRecordHeader.cs
- FormDesigner.cs
- SchemaCompiler.cs
- WmlPanelAdapter.cs
- ToolStripPanel.cs
- HTMLTextWriter.cs
- HttpCapabilitiesBase.cs
- FontFamilyValueSerializer.cs
- SuppressMergeCheckAttribute.cs
- ThreadExceptionEvent.cs
- RestClientProxyHandler.cs
- ListChangedEventArgs.cs
- TargetPerspective.cs
- WebPartConnectionCollection.cs
- SoapTypeAttribute.cs
- NameValueConfigurationElement.cs
- DurableEnlistmentState.cs
- XmlElementAttribute.cs
- UpdateCompiler.cs
- RuntimeArgumentHandle.cs
- UIElementPropertyUndoUnit.cs
- MimeObjectFactory.cs
- ValueTypeFixupInfo.cs
- PropertyInfoSet.cs
- WorkflowLayouts.cs
- ListSortDescriptionCollection.cs
- RolePrincipal.cs
- URLString.cs
- EntitySqlException.cs
- Constant.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- UnconditionalPolicy.cs
- WebPartConnectionsDisconnectVerb.cs
- HtmlControlPersistable.cs
- ObjectListDataBindEventArgs.cs
- ControlIdConverter.cs
- ConfigXmlSignificantWhitespace.cs
- DataKeyArray.cs
- Rotation3D.cs
- CodeExpressionStatement.cs
- FileUtil.cs
- Pen.cs
- EncryptedXml.cs
- SmtpTransport.cs
- BaseServiceProvider.cs
- figurelengthconverter.cs
- SafeRightsManagementEnvironmentHandle.cs
- Base64Stream.cs
- ImageProxy.cs
- PeerCollaboration.cs
- ToolStripDropDownClosingEventArgs.cs
- ValidationPropertyAttribute.cs
- ReturnValue.cs
- SqlDelegatedTransaction.cs
- LogLogRecordEnumerator.cs
- TextTreeRootNode.cs
- Listen.cs