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
- OracleNumber.cs
- BitmapFrameEncode.cs
- SecurityManager.cs
- EntitySetRetriever.cs
- DelegateBodyWriter.cs
- PrimitiveCodeDomSerializer.cs
- SizeF.cs
- DispatcherTimer.cs
- FlowPanelDesigner.cs
- ListViewContainer.cs
- RubberbandSelector.cs
- FixUp.cs
- SafeNativeMethods.cs
- WhiteSpaceTrimStringConverter.cs
- XmlSchemaProviderAttribute.cs
- TraceInternal.cs
- LinqDataSourceContextEventArgs.cs
- SQLInt32Storage.cs
- DSACryptoServiceProvider.cs
- OutputWindow.cs
- StylusButtonCollection.cs
- MetadataItem.cs
- ProxyWebPartConnectionCollection.cs
- CSharpCodeProvider.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- SessionIDManager.cs
- SimpleWebHandlerParser.cs
- SelectorItemAutomationPeer.cs
- Line.cs
- CompModSwitches.cs
- MoveSizeWinEventHandler.cs
- UnknownBitmapEncoder.cs
- QuestionEventArgs.cs
- Exceptions.cs
- TextParagraphView.cs
- Control.cs
- SecurityPolicyVersion.cs
- Classification.cs
- OpenTypeCommon.cs
- MeshGeometry3D.cs
- _NativeSSPI.cs
- ConstructorExpr.cs
- TaskFormBase.cs
- CheckBoxList.cs
- DBCSCodePageEncoding.cs
- InkCanvasFeedbackAdorner.cs
- ItemDragEvent.cs
- RoutedEventConverter.cs
- MarkupExtensionReturnTypeAttribute.cs
- QuaternionRotation3D.cs
- FontNamesConverter.cs
- EpmHelper.cs
- DataTableExtensions.cs
- ZipIOLocalFileBlock.cs
- TextEmbeddedObject.cs
- SqlTriggerContext.cs
- ApplicationTrust.cs
- AdapterDictionary.cs
- CustomExpression.cs
- Adorner.cs
- WebPermission.cs
- UidPropertyAttribute.cs
- BaseCAMarshaler.cs
- ProvideValueServiceProvider.cs
- BrowserDefinition.cs
- CompositeFontParser.cs
- Scene3D.cs
- CellIdBoolean.cs
- PropertyChangedEventManager.cs
- HierarchicalDataBoundControl.cs
- TextElementCollectionHelper.cs
- ErrorTableItemStyle.cs
- XmlILAnnotation.cs
- DbTransaction.cs
- DocumentPageHost.cs
- HtmlHead.cs
- OleDbFactory.cs
- HandleCollector.cs
- ParseElementCollection.cs
- Msec.cs
- XmlDigitalSignatureProcessor.cs
- CodeAccessPermission.cs
- UnaryQueryOperator.cs
- RangeBaseAutomationPeer.cs
- AxisAngleRotation3D.cs
- EntityException.cs
- BooleanExpr.cs
- BrowserDefinition.cs
- GridViewAutomationPeer.cs
- ResolvedKeyFrameEntry.cs
- CommandField.cs
- NameObjectCollectionBase.cs
- SelectionPattern.cs
- ProxyManager.cs
- CmsInterop.cs
- TextComposition.cs
- LocationSectionRecord.cs
- TabControlEvent.cs
- MimeBasePart.cs
- DataQuery.cs