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
- DbParameterHelper.cs
- InternalControlCollection.cs
- TextServicesDisplayAttribute.cs
- ListenerHandler.cs
- glyphs.cs
- WebPageTraceListener.cs
- CommittableTransaction.cs
- JpegBitmapDecoder.cs
- DataShape.cs
- TraceHandlerErrorFormatter.cs
- RequestCachingSection.cs
- LocatorBase.cs
- handlecollector.cs
- AppDomainFactory.cs
- ActivityInterfaces.cs
- grammarelement.cs
- ScrollViewer.cs
- NavigatorOutput.cs
- ChannelServices.cs
- ApplicationSettingsBase.cs
- BuildProvidersCompiler.cs
- ReaderContextStackData.cs
- RightsManagementInformation.cs
- BoundField.cs
- TextServicesCompartment.cs
- MeasurementDCInfo.cs
- ComponentChangingEvent.cs
- MailWriter.cs
- SamlAuthenticationClaimResource.cs
- XmlSchemaComplexContentRestriction.cs
- MessageEventSubscriptionService.cs
- CachedPathData.cs
- SamlAttributeStatement.cs
- HtmlCalendarAdapter.cs
- DataColumnCollection.cs
- InkCanvasInnerCanvas.cs
- CellConstant.cs
- DiffuseMaterial.cs
- securitymgrsite.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- WhileDesigner.cs
- ControlBindingsCollection.cs
- CommandLibraryHelper.cs
- TreeView.cs
- GenericEnumConverter.cs
- BoolExpressionVisitors.cs
- TextTreeInsertElementUndoUnit.cs
- Logging.cs
- FrameSecurityDescriptor.cs
- StateMachineExecutionState.cs
- FilteredDataSetHelper.cs
- SearchForVirtualItemEventArgs.cs
- ThreadStaticAttribute.cs
- StringCollection.cs
- TypeConverter.cs
- OleDbError.cs
- ConfigurationSectionHelper.cs
- InvokePatternIdentifiers.cs
- DefinitionProperties.cs
- GlobalProxySelection.cs
- FontFamilyValueSerializer.cs
- DataMember.cs
- ColorConverter.cs
- TextRunProperties.cs
- AssociationTypeEmitter.cs
- PrimitiveDataContract.cs
- RelationshipEndCollection.cs
- SqlDependencyUtils.cs
- DBParameter.cs
- RuntimeHandles.cs
- TraceRecords.cs
- ProviderBase.cs
- WpfGeneratedKnownTypes.cs
- ObjectNavigationPropertyMapping.cs
- GridViewColumn.cs
- WebServiceMethodData.cs
- DataGridViewCheckBoxCell.cs
- VSDExceptions.cs
- BuilderInfo.cs
- arabicshape.cs
- ExpressionValueEditor.cs
- BackgroundFormatInfo.cs
- Win32KeyboardDevice.cs
- SQLMoneyStorage.cs
- RijndaelManagedTransform.cs
- QueryStringHandler.cs
- VisualTreeUtils.cs
- CatalogZone.cs
- SvcFileManager.cs
- BlurBitmapEffect.cs
- DocobjHost.cs
- StringCollection.cs
- TagPrefixAttribute.cs
- ConfigurationPropertyAttribute.cs
- FontCacheUtil.cs
- XamlBuildTaskServices.cs
- VisualStyleInformation.cs
- ListViewInsertedEventArgs.cs
- PlacementWorkspace.cs
- WSTransactionSection.cs