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
- LocalValueEnumerator.cs
- Span.cs
- ParenthesizePropertyNameAttribute.cs
- DataGridAddNewRow.cs
- WebBrowserSiteBase.cs
- EnumerableRowCollection.cs
- ListArgumentProvider.cs
- NativeMethods.cs
- SettingsSavedEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- WebPartVerb.cs
- FormsIdentity.cs
- DBSchemaRow.cs
- ProfilePropertySettingsCollection.cs
- DynamicILGenerator.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- ParseNumbers.cs
- ProfileGroupSettingsCollection.cs
- Range.cs
- SafeNativeMethods.cs
- MultiDataTrigger.cs
- Interop.cs
- LayoutTableCell.cs
- UnsettableComboBox.cs
- XmlILConstructAnalyzer.cs
- TextCompositionManager.cs
- CfgParser.cs
- TracedNativeMethods.cs
- ContainerVisual.cs
- UnsafeNativeMethods.cs
- EncodingStreamWrapper.cs
- NeutralResourcesLanguageAttribute.cs
- CodeGenerator.cs
- AuthenticateEventArgs.cs
- WindowsListViewItem.cs
- XmlTextWriter.cs
- InfoCardAsymmetricCrypto.cs
- AssemblyInfo.cs
- SpotLight.cs
- RegexCaptureCollection.cs
- WhileDesigner.cs
- TypedLocationWrapper.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- DBBindings.cs
- UnauthorizedAccessException.cs
- ClientData.cs
- ControlPaint.cs
- SelectionPatternIdentifiers.cs
- BaseAddressPrefixFilterElement.cs
- HttpResponseHeader.cs
- StaticResourceExtension.cs
- StructuredProperty.cs
- BasicBrowserDialog.designer.cs
- WebHttpSecurityModeHelper.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- DataGridViewImageCell.cs
- TextHidden.cs
- DataAccessor.cs
- ApplicationFileParser.cs
- Pen.cs
- KnownBoxes.cs
- DiscoveryClientReferences.cs
- NegotiateStream.cs
- XmlSecureResolver.cs
- HttpDictionary.cs
- AnyAllSearchOperator.cs
- TextBoxAutomationPeer.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- ObjectQueryExecutionPlan.cs
- WebDisplayNameAttribute.cs
- SerialErrors.cs
- DesignerActionVerbItem.cs
- DbProviderFactoriesConfigurationHandler.cs
- TemplateParser.cs
- MatrixTransform3D.cs
- StylusButtonCollection.cs
- SmiRequestExecutor.cs
- RTLAwareMessageBox.cs
- XPathDocumentIterator.cs
- MarkupCompilePass2.cs
- DesignerCommandSet.cs
- AddInContractAttribute.cs
- SynchronizationContext.cs
- Crc32Helper.cs
- SpeakProgressEventArgs.cs
- DisposableCollectionWrapper.cs
- DoubleAnimationBase.cs
- PrintingPermission.cs
- RuntimeComponentFilter.cs
- DataControlField.cs
- DataRelation.cs
- _IPv6Address.cs
- ListenerConstants.cs
- ExpressionEditorAttribute.cs
- DataGridViewCellValidatingEventArgs.cs
- SafeNativeMethodsCLR.cs
- PathParser.cs
- MouseGesture.cs
- DependencyPropertyKey.cs
- InvalidAsynchronousStateException.cs