Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / internal / materialization / shaperfactory.cs / 1599186 / shaperfactory.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System.Data.Common.QueryCache; using System.Data.Metadata.Edm; using System.Data.Objects; using System.Data.Objects.Internal; using System.Data.Query.InternalTrees; using System.Diagnostics; using System.Runtime.CompilerServices; namespace System.Data.Common.Internal.Materialization { ////// An immutable type used to generate Shaper instances. /// internal abstract class ShaperFactory { [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] internal static ShaperFactory Create(Type elementType, QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, bool valueLayer) { ShaperFactoryCreator creator = (ShaperFactoryCreator)Activator.CreateInstance(typeof(TypedShaperFactoryCreator<>).MakeGenericType(elementType)); return creator.TypedCreate(cacheManager, columnMap, metadata, spanInfo, mergeOption, valueLayer); } private abstract class ShaperFactoryCreator { internal abstract ShaperFactory TypedCreate(QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, bool valueLayer); } private sealed class TypedShaperFactoryCreator: ShaperFactoryCreator { public TypedShaperFactoryCreator() {} internal override ShaperFactory TypedCreate(QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, bool valueLayer) { return Translator.TranslateColumnMap (cacheManager, columnMap, metadata, spanInfo, mergeOption, valueLayer); } } } /// /// Typed ShaperFactory /// internal class ShaperFactory: ShaperFactory { private readonly int _stateCount; private readonly CoordinatorFactory _rootCoordinatorFactory; private readonly Action _checkPermissions; private readonly MergeOption _mergeOption; internal ShaperFactory(int stateCount, CoordinatorFactory rootCoordinatorFactory, Action checkPermissions, MergeOption mergeOption) { _stateCount = stateCount; _rootCoordinatorFactory = rootCoordinatorFactory; _checkPermissions = checkPermissions; _mergeOption = mergeOption; } /// /// Factory method to create the Shaper for Object Layer queries. /// internal ShaperCreate(DbDataReader reader, ObjectContext context, MetadataWorkspace workspace, MergeOption mergeOption, bool readerOwned) { Debug.Assert(mergeOption == _mergeOption, "executing a query with a different mergeOption than was used to compile the delegate"); return new Shaper (reader, context, workspace, mergeOption, _stateCount, _rootCoordinatorFactory, _checkPermissions, readerOwned); } } } // 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
- X500Name.cs
- ToolStripItem.cs
- ExpressionCopier.cs
- StreamGeometry.cs
- Base64Decoder.cs
- TreeViewEvent.cs
- RelatedPropertyManager.cs
- XmlSchemaSequence.cs
- XmlChildNodes.cs
- DispatcherExceptionEventArgs.cs
- DBNull.cs
- CommonDialog.cs
- RegionIterator.cs
- FormViewInsertedEventArgs.cs
- WindowInteractionStateTracker.cs
- BitmapEffectvisualstate.cs
- TreeBuilder.cs
- CriticalHandle.cs
- SqlBulkCopyColumnMapping.cs
- Tokenizer.cs
- HealthMonitoringSection.cs
- DataServiceRequestOfT.cs
- RtfNavigator.cs
- SecurityPolicySection.cs
- MediaEntryAttribute.cs
- FontWeight.cs
- AmbiguousMatchException.cs
- SearchForVirtualItemEventArgs.cs
- Block.cs
- TextEffect.cs
- PackWebRequestFactory.cs
- SortedDictionary.cs
- RNGCryptoServiceProvider.cs
- IOThreadTimer.cs
- SimplePropertyEntry.cs
- DataGridViewRowCancelEventArgs.cs
- GradientSpreadMethodValidation.cs
- DataSourceSelectArguments.cs
- DataViewSettingCollection.cs
- AppSettingsExpressionBuilder.cs
- HtmlElementCollection.cs
- PointConverter.cs
- messageonlyhwndwrapper.cs
- FragmentNavigationEventArgs.cs
- RouteTable.cs
- IisTraceWebEventProvider.cs
- ListDictionaryInternal.cs
- StaticDataManager.cs
- WmlCommandAdapter.cs
- EntityType.cs
- CqlQuery.cs
- Listen.cs
- NamespaceMapping.cs
- ServiceDesigner.cs
- DynamicExpression.cs
- FieldNameLookup.cs
- MatrixAnimationUsingKeyFrames.cs
- WebPartZoneCollection.cs
- LineServices.cs
- DataGridDesigner.cs
- LinkedResource.cs
- RtfToXamlLexer.cs
- Double.cs
- mactripleDES.cs
- Substitution.cs
- GeometryHitTestResult.cs
- TraceContext.cs
- StyleSelector.cs
- localization.cs
- HandleInitializationContext.cs
- String.cs
- HostingMessageProperty.cs
- WorkflowMarkupSerializerMapping.cs
- DataRowComparer.cs
- OutOfMemoryException.cs
- ListViewHitTestInfo.cs
- UInt32Storage.cs
- TransactionInformation.cs
- URI.cs
- MessagePartDescriptionCollection.cs
- Application.cs
- RawContentTypeMapper.cs
- UInt32.cs
- ResXBuildProvider.cs
- ContentPlaceHolder.cs
- _HelperAsyncResults.cs
- HostUtils.cs
- RepeaterItemEventArgs.cs
- WindowsGraphics2.cs
- GeneralTransform3D.cs
- ExclusiveTcpListener.cs
- XsdBuilder.cs
- Polyline.cs
- Events.cs
- AddInDeploymentState.cs
- InputLanguage.cs
- DataSetMappper.cs
- DataMisalignedException.cs
- Misc.cs
- LocatorPartList.cs