Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / internal / materialization / shaperfactory.cs / 1 / 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; namespace System.Data.Common.Internal.Materialization { ////// An immutable type used to generate Shaper instances. /// internal abstract class ShaperFactory { 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) { 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); } /// /// Factory method to create the Shaper for Value Layer queries. /// internal ShaperCreate(DbDataReader reader, MetadataWorkspace workspace) { Debug.Assert(MergeOption.NoTracking == _mergeOption, "executing a query with a different mergeOption than was used to compile the delegate"); return new Shaper (reader, null, workspace, MergeOption.NoTracking, _stateCount, _rootCoordinatorFactory, _checkPermissions); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // 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; namespace System.Data.Common.Internal.Materialization { ////// An immutable type used to generate Shaper instances. /// internal abstract class ShaperFactory { 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) { 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); } /// /// Factory method to create the Shaper for Value Layer queries. /// internal ShaperCreate(DbDataReader reader, MetadataWorkspace workspace) { Debug.Assert(MergeOption.NoTracking == _mergeOption, "executing a query with a different mergeOption than was used to compile the delegate"); return new Shaper (reader, null, workspace, MergeOption.NoTracking, _stateCount, _rootCoordinatorFactory, _checkPermissions); } } } // 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
- GiveFeedbackEventArgs.cs
- MultiSelector.cs
- Dictionary.cs
- TreeChangeInfo.cs
- XmlRootAttribute.cs
- ReferenceEqualityComparer.cs
- WindowsAuthenticationEventArgs.cs
- SystemDiagnosticsSection.cs
- ResourceContainerWrapper.cs
- EntityTypeEmitter.cs
- WebAdminConfigurationHelper.cs
- DocumentPageTextView.cs
- CommandDesigner.cs
- MULTI_QI.cs
- CodeLinePragma.cs
- SmtpNtlmAuthenticationModule.cs
- RectangleHotSpot.cs
- EventToken.cs
- Metafile.cs
- GeometryConverter.cs
- MatrixStack.cs
- ValidationRuleCollection.cs
- ComPlusTraceRecord.cs
- CalendarBlackoutDatesCollection.cs
- EditorZone.cs
- ReadOnlyDictionary.cs
- ClaimSet.cs
- Transform.cs
- DesignOnlyAttribute.cs
- RegisteredDisposeScript.cs
- Helper.cs
- ComPlusSynchronizationContext.cs
- XamlStream.cs
- wmiprovider.cs
- TransformDescriptor.cs
- ListViewInsertEventArgs.cs
- PointLightBase.cs
- EncodingInfo.cs
- _HelperAsyncResults.cs
- CustomGrammar.cs
- PrintPreviewGraphics.cs
- webbrowsersite.cs
- ValidationHelper.cs
- EqualityArray.cs
- ResourceExpressionEditor.cs
- TextTreeTextElementNode.cs
- DataKeyArray.cs
- AutoSizeComboBox.cs
- BitmapEffectDrawing.cs
- EntityDesignPluralizationHandler.cs
- AsyncOperationManager.cs
- WebContext.cs
- Debugger.cs
- CustomLineCap.cs
- NonParentingControl.cs
- _UncName.cs
- MatrixIndependentAnimationStorage.cs
- SynchronizingStream.cs
- coordinatorscratchpad.cs
- DataBindEngine.cs
- X509CertificateStore.cs
- ErrorRuntimeConfig.cs
- TreeNodeStyleCollection.cs
- latinshape.cs
- HandleDictionary.cs
- BindToObject.cs
- EmptyEnumerator.cs
- Wildcard.cs
- safemediahandle.cs
- DataGridViewDataErrorEventArgs.cs
- UnhandledExceptionEventArgs.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- ReadOnlyKeyedCollection.cs
- XPathEmptyIterator.cs
- ObjectStateFormatter.cs
- Ops.cs
- WebPartsPersonalization.cs
- FeatureSupport.cs
- MemoryRecordBuffer.cs
- Native.cs
- HostedTransportConfigurationManager.cs
- XmlTextReaderImpl.cs
- TextServicesCompartmentContext.cs
- GACMembershipCondition.cs
- ElementNotEnabledException.cs
- ArraySet.cs
- Subtree.cs
- precedingquery.cs
- TextElementEnumerator.cs
- SessionIDManager.cs
- WebEventTraceProvider.cs
- TailCallAnalyzer.cs
- ServiceBusyException.cs
- DropDownButton.cs
- OciLobLocator.cs
- OracleDataReader.cs
- DateTimeFormat.cs
- RegexGroup.cs
- CallbackCorrelationInitializer.cs
- HttpInputStream.cs