Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- TextBlockAutomationPeer.cs
- ToolBar.cs
- SessionEndingCancelEventArgs.cs
- RuntimeHelpers.cs
- IpcClientChannel.cs
- SignedXmlDebugLog.cs
- ValueHandle.cs
- MenuItemStyleCollectionEditor.cs
- UnauthorizedAccessException.cs
- PenThreadPool.cs
- CultureInfo.cs
- ButtonColumn.cs
- SourceChangedEventArgs.cs
- PageAsyncTask.cs
- MessageQueueInstaller.cs
- Set.cs
- InlineCollection.cs
- Control.cs
- CookielessHelper.cs
- ServiceContractGenerator.cs
- PreviewPrintController.cs
- ExceptionUtility.cs
- codemethodreferenceexpression.cs
- UnsafeCollabNativeMethods.cs
- Popup.cs
- HtmlEncodedRawTextWriter.cs
- NativeMethods.cs
- PerformanceCounterPermissionEntryCollection.cs
- XamlTypeMapper.cs
- NotificationContext.cs
- TraceHandler.cs
- DataTemplate.cs
- ApplicationContext.cs
- NativeMethods.cs
- RadioButtonList.cs
- BulletDecorator.cs
- COM2PropertyDescriptor.cs
- InputManager.cs
- PageHandlerFactory.cs
- ImmutableObjectAttribute.cs
- Application.cs
- NavigationPropertyEmitter.cs
- InkPresenterAutomationPeer.cs
- ResourcePart.cs
- entitydatasourceentitysetnameconverter.cs
- SystemIPInterfaceStatistics.cs
- ResXBuildProvider.cs
- BitmapEffectOutputConnector.cs
- RowSpanVector.cs
- RotateTransform3D.cs
- FileIOPermission.cs
- XamlStream.cs
- ObjectSet.cs
- SHA256.cs
- ModuleBuilder.cs
- IdnElement.cs
- NegotiationTokenAuthenticatorStateCache.cs
- XmlCompatibilityReader.cs
- DataAdapter.cs
- TypeResolver.cs
- Events.cs
- PriorityChain.cs
- FixedElement.cs
- TypeConverter.cs
- WebPart.cs
- SingleResultAttribute.cs
- PrefixHandle.cs
- PixelShader.cs
- SystemIPGlobalStatistics.cs
- XamlVector3DCollectionSerializer.cs
- RenderTargetBitmap.cs
- PolicyAssertionCollection.cs
- ScriptReferenceBase.cs
- ToolStripPanelCell.cs
- TransformedBitmap.cs
- ReadOnlyPropertyMetadata.cs
- ClaimComparer.cs
- DataServiceExpressionVisitor.cs
- VisualState.cs
- AddInAdapter.cs
- StringUtil.cs
- SafeFindHandle.cs
- TextureBrush.cs
- DiscardableAttribute.cs
- EditorZoneBase.cs
- BaseTemplateParser.cs
- AdditionalEntityFunctions.cs
- ImageClickEventArgs.cs
- XPathException.cs
- ActiveXHost.cs
- WeakReadOnlyCollection.cs
- InheritanceAttribute.cs
- MethodAccessException.cs
- FontUnit.cs
- XomlCompilerError.cs
- RegexParser.cs
- RequestCachePolicy.cs
- TextBoxView.cs
- CapabilitiesUse.cs
- TraversalRequest.cs