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
- RepeatInfo.cs
- ProviderException.cs
- ClipboardData.cs
- FigureHelper.cs
- FormViewPageEventArgs.cs
- FormsAuthentication.cs
- FileCodeGroup.cs
- SqlFunctionAttribute.cs
- PeerServiceMessageContracts.cs
- PageThemeParser.cs
- CodeBlockBuilder.cs
- RegexReplacement.cs
- EntityUtil.cs
- PageThemeCodeDomTreeGenerator.cs
- LogEntryHeaderSerializer.cs
- PartManifestEntry.cs
- SettingsPropertyWrongTypeException.cs
- ZipIOExtraFieldElement.cs
- InvalidProgramException.cs
- CompModSwitches.cs
- SvcMapFile.cs
- PersonalizationAdministration.cs
- ShellProvider.cs
- CopyOnWriteList.cs
- ZipIOLocalFileDataDescriptor.cs
- ExpressionBindings.cs
- DataViewListener.cs
- CharConverter.cs
- CLSCompliantAttribute.cs
- EventLogInformation.cs
- SqlSupersetValidator.cs
- MemberAssignmentAnalysis.cs
- SortAction.cs
- CacheVirtualItemsEvent.cs
- SecurityTokenParametersEnumerable.cs
- SoapSchemaImporter.cs
- XslAstAnalyzer.cs
- PropertyChangeTracker.cs
- AgileSafeNativeMemoryHandle.cs
- TreeBuilderXamlTranslator.cs
- PlainXmlWriter.cs
- RectConverter.cs
- WinInet.cs
- RTLAwareMessageBox.cs
- DrawingImage.cs
- typedescriptorpermissionattribute.cs
- BindingBase.cs
- ResponseBodyWriter.cs
- TagNameToTypeMapper.cs
- PostBackOptions.cs
- FrameAutomationPeer.cs
- DetailsViewPagerRow.cs
- DrawListViewSubItemEventArgs.cs
- NameValueCollection.cs
- TabletCollection.cs
- WhitespaceSignificantCollectionAttribute.cs
- DependencyPropertyValueSerializer.cs
- _DynamicWinsockMethods.cs
- ObjectDataSourceFilteringEventArgs.cs
- HandleRef.cs
- BmpBitmapDecoder.cs
- ByteStream.cs
- SortKey.cs
- ISSmlParser.cs
- BitmapMetadata.cs
- Hex.cs
- BitmapEffectInputData.cs
- HitTestResult.cs
- OdbcUtils.cs
- isolationinterop.cs
- FormsAuthenticationUserCollection.cs
- SqlBuffer.cs
- CompModHelpers.cs
- TraversalRequest.cs
- SendSecurityHeaderElementContainer.cs
- MenuItemBindingCollection.cs
- RecordManager.cs
- TreeChangeInfo.cs
- ForAllOperator.cs
- SizeAnimation.cs
- TraceListeners.cs
- XPathDocumentBuilder.cs
- DmlSqlGenerator.cs
- Missing.cs
- PingOptions.cs
- Light.cs
- Base64Decoder.cs
- BookmarkTable.cs
- CallSiteHelpers.cs
- SymbolType.cs
- UInt16Storage.cs
- DebugInfo.cs
- Vertex.cs
- SHA512Managed.cs
- TdsEnums.cs
- VisemeEventArgs.cs
- OracleEncoding.cs
- EmulateRecognizeCompletedEventArgs.cs
- BrowserCapabilitiesCodeGenerator.cs
- OdbcConnectionHandle.cs