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
- TreeIterator.cs
- ApplicationSecurityManager.cs
- FormsAuthenticationUserCollection.cs
- BitmapDecoder.cs
- SqlEnums.cs
- LocalizableAttribute.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- TimeZoneNotFoundException.cs
- _TLSstream.cs
- LayoutUtils.cs
- EntityStoreSchemaGenerator.cs
- ColumnReorderedEventArgs.cs
- Currency.cs
- EnumerableCollectionView.cs
- EncodingTable.cs
- Number.cs
- FixedFindEngine.cs
- XmlText.cs
- WebEvents.cs
- MsmqInputChannel.cs
- Task.cs
- QuestionEventArgs.cs
- SqlInternalConnectionSmi.cs
- ObjectListGeneralPage.cs
- CodeTypeOfExpression.cs
- SubMenuStyleCollectionEditor.cs
- DerivedKeySecurityTokenStub.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ValidateNames.cs
- CommandDevice.cs
- ClientSponsor.cs
- InternalDuplexChannelListener.cs
- ObsoleteAttribute.cs
- Serialization.cs
- PointLightBase.cs
- EntityDataSourceQueryBuilder.cs
- XmlEncodedRawTextWriter.cs
- SqlCommandBuilder.cs
- PropertyAccessVisitor.cs
- DocumentXmlWriter.cs
- Verify.cs
- ConfigurationElementCollection.cs
- OleAutBinder.cs
- EventInfo.cs
- LabelLiteral.cs
- SiteMap.cs
- XPathBinder.cs
- SizeAnimationUsingKeyFrames.cs
- PixelShader.cs
- BrowserTree.cs
- MimeMapping.cs
- AsymmetricSignatureDeformatter.cs
- XmlUTF8TextWriter.cs
- Debugger.cs
- OdbcDataAdapter.cs
- ProfilePropertySettings.cs
- _Semaphore.cs
- SoapIgnoreAttribute.cs
- SafeHandles.cs
- CheckBoxAutomationPeer.cs
- TextSchema.cs
- NotImplementedException.cs
- SafeCryptContextHandle.cs
- BinaryUtilClasses.cs
- DataGridViewRowPostPaintEventArgs.cs
- OdbcTransaction.cs
- ProcessProtocolHandler.cs
- DragDrop.cs
- DesignerAttribute.cs
- InputMethodStateTypeInfo.cs
- PartialCachingControl.cs
- Speller.cs
- TypedElement.cs
- WeakReferenceEnumerator.cs
- DynamicPropertyReader.cs
- AmbientLight.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- SignalGate.cs
- XmlAttributeOverrides.cs
- DebuggerAttributes.cs
- ConfigurationManagerInternal.cs
- PageDeviceFont.cs
- WorkflowItemPresenter.cs
- GeneralTransform3D.cs
- GeneralTransform2DTo3D.cs
- Adorner.cs
- COM2PropertyPageUITypeConverter.cs
- activationcontext.cs
- PageThemeParser.cs
- TemplateParser.cs
- CellPartitioner.cs
- PersonalizationStateInfo.cs
- CheckPair.cs
- PropertyTab.cs
- DBNull.cs
- EdgeProfileValidation.cs
- SessionState.cs
- IisTraceWebEventProvider.cs
- FrameworkTemplate.cs
- SolidBrush.cs