Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / internal / materialization / shaperfactory.cs / 1599186 / 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; using System.Runtime.CompilerServices; namespace System.Data.Common.Internal.Materialization { ////// An immutable type used to generate Shaper instances. /// internal abstract class ShaperFactory { [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] 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, bool readerOwned) { 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, readerOwned); } } } // 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
- FlowPosition.cs
- ImpersonationContext.cs
- GenerateTemporaryTargetAssembly.cs
- FileChangesMonitor.cs
- IdentityManager.cs
- ProcessModule.cs
- CompositeActivityTypeDescriptorProvider.cs
- WebPartManager.cs
- CodeObject.cs
- OutgoingWebRequestContext.cs
- DataGridRelationshipRow.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- DataGridViewCellStyleConverter.cs
- AdornedElementPlaceholder.cs
- DataGridPagerStyle.cs
- Tuple.cs
- RequiredAttributeAttribute.cs
- WebConfigurationFileMap.cs
- EventDrivenDesigner.cs
- ISAPIWorkerRequest.cs
- XPathNode.cs
- ListViewItemMouseHoverEvent.cs
- ManagementScope.cs
- EntityModelSchemaGenerator.cs
- UnknownBitmapEncoder.cs
- HeaderCollection.cs
- SymLanguageType.cs
- SqlTrackingWorkflowInstance.cs
- MobileControlDesigner.cs
- WebPartUserCapability.cs
- LinqToSqlWrapper.cs
- RectangleF.cs
- XomlCompiler.cs
- InstalledFontCollection.cs
- StateMachineWorkflow.cs
- HttpCookiesSection.cs
- GiveFeedbackEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- HwndSourceParameters.cs
- OdbcParameterCollection.cs
- OracleConnection.cs
- WindowHelperService.cs
- SystemIPGlobalProperties.cs
- RotateTransform.cs
- GridViewColumn.cs
- ManifestResourceInfo.cs
- IntPtr.cs
- DTCTransactionManager.cs
- TraceInternal.cs
- ConfigXmlText.cs
- TimeSpanValidator.cs
- ParameterCollection.cs
- ListControl.cs
- SoapTypeAttribute.cs
- AssemblyCollection.cs
- ReflectEventDescriptor.cs
- NetTcpBindingCollectionElement.cs
- ExclusiveNamedPipeTransportManager.cs
- X509CertificateCollection.cs
- CheckBoxStandardAdapter.cs
- ConnectionStringsExpressionBuilder.cs
- DataBoundLiteralControl.cs
- ProfileServiceManager.cs
- ApplicationServiceManager.cs
- BinHexDecoder.cs
- ChangesetResponse.cs
- OdbcParameter.cs
- InteropAutomationProvider.cs
- invalidudtexception.cs
- XmlAttributeOverrides.cs
- HtmlHistory.cs
- SoapInteropTypes.cs
- FileSystemEventArgs.cs
- PackageRelationshipSelector.cs
- ChineseLunisolarCalendar.cs
- InkCanvasFeedbackAdorner.cs
- Transform3DCollection.cs
- ConfigXmlElement.cs
- OdbcErrorCollection.cs
- Columns.cs
- ExecutionEngineException.cs
- BinaryObjectReader.cs
- WebPartConnectVerb.cs
- FirstMatchCodeGroup.cs
- RepeatButtonAutomationPeer.cs
- SqlTriggerAttribute.cs
- RadioButton.cs
- ConnectionManagementElementCollection.cs
- SqlGatherConsumedAliases.cs
- ShaperBuffers.cs
- SettingsProperty.cs
- ListControl.cs
- VisualBasicDesignerHelper.cs
- NativeMethods.cs
- OpenFileDialog.cs
- LinkedList.cs
- SourceFileBuildProvider.cs
- MouseDevice.cs
- RuleConditionDialog.cs
- BaseTreeIterator.cs