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
- NoneExcludedImageIndexConverter.cs
- DrawingGroupDrawingContext.cs
- PersonalizationAdministration.cs
- IUnknownConstantAttribute.cs
- DataGridViewCellStyleConverter.cs
- DiffuseMaterial.cs
- DataSourceHelper.cs
- SelectionItemPatternIdentifiers.cs
- FunctionDetailsReader.cs
- StatusBarItem.cs
- PassportAuthenticationEventArgs.cs
- QueryExecutionOption.cs
- ExpressionVisitorHelpers.cs
- InheritanceContextHelper.cs
- SqlStream.cs
- NativeActivityMetadata.cs
- UniqueSet.cs
- CompositeActivityTypeDescriptorProvider.cs
- EntityConnectionStringBuilder.cs
- RelationshipDetailsCollection.cs
- TypeNameParser.cs
- QueryComponents.cs
- HelpEvent.cs
- Calendar.cs
- MessageSecurityException.cs
- TableHeaderCell.cs
- HttpResponseBase.cs
- HeaderedItemsControl.cs
- UrlMapping.cs
- Menu.cs
- CfgArc.cs
- CodeMethodInvokeExpression.cs
- SortedDictionary.cs
- DataSvcMapFileSerializer.cs
- XmlCDATASection.cs
- PeerNameRecordCollection.cs
- OrderToken.cs
- ISAPIWorkerRequest.cs
- SecurityUniqueId.cs
- FileChangesMonitor.cs
- Span.cs
- WindowsIdentity.cs
- KerberosTicketHashIdentifierClause.cs
- TableChangeProcessor.cs
- SmiSettersStream.cs
- DataColumn.cs
- ImpersonationContext.cs
- DetailsViewRow.cs
- SystemIPGlobalStatistics.cs
- Function.cs
- ILGenerator.cs
- WebConfigurationHost.cs
- SchemaImporter.cs
- safelink.cs
- SingleAnimationUsingKeyFrames.cs
- ObjRef.cs
- ThemeDictionaryExtension.cs
- PenContext.cs
- DiscoveryProxy.cs
- Compiler.cs
- DiscoveryDefaults.cs
- AmbientLight.cs
- PropertyGeneratedEventArgs.cs
- XXXOnTypeBuilderInstantiation.cs
- AppDomainFactory.cs
- ObfuscateAssemblyAttribute.cs
- FontSizeConverter.cs
- AdRotator.cs
- WebRequestModuleElement.cs
- SecurityCriticalDataForSet.cs
- HtmlImage.cs
- PageContent.cs
- ErrorFormatter.cs
- PnrpPermission.cs
- ArraySortHelper.cs
- GridLength.cs
- TypeSystem.cs
- InputManager.cs
- RepeaterItemEventArgs.cs
- DetailsViewUpdateEventArgs.cs
- CultureSpecificStringDictionary.cs
- ConfigurationElement.cs
- FacetValues.cs
- FieldAccessException.cs
- WebBrowserUriTypeConverter.cs
- Clock.cs
- WeakReferenceKey.cs
- XPathScanner.cs
- _HeaderInfoTable.cs
- NamespaceTable.cs
- RootBuilder.cs
- DataControlCommands.cs
- EventRouteFactory.cs
- FunctionGenerator.cs
- DataRow.cs
- DelegateSerializationHolder.cs
- SettingsPropertyNotFoundException.cs
- SchemaEntity.cs
- DynamicValidatorEventArgs.cs
- DateTimeUtil.cs