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
- ScriptManagerProxy.cs
- ClientScriptManager.cs
- FunctionImportMapping.cs
- IndexerNameAttribute.cs
- AdRotator.cs
- HtmlLink.cs
- UrlPath.cs
- XamlReaderConstants.cs
- AnimatedTypeHelpers.cs
- Util.cs
- ConfigurationSection.cs
- OutputCacheProfileCollection.cs
- HttpDateParse.cs
- MimeObjectFactory.cs
- XPathDocumentNavigator.cs
- XPathMultyIterator.cs
- WebConfigurationFileMap.cs
- TransactionalPackage.cs
- pingexception.cs
- ProgressiveCrcCalculatingStream.cs
- QilVisitor.cs
- X500Name.cs
- ChtmlTextBoxAdapter.cs
- ButtonFlatAdapter.cs
- CreateParams.cs
- MessageQueueConverter.cs
- XAMLParseException.cs
- XmlSchemaAnnotated.cs
- TextWriterTraceListener.cs
- CheckedListBox.cs
- AsymmetricKeyExchangeFormatter.cs
- DataSvcMapFileSerializer.cs
- DrawingContextWalker.cs
- ActionFrame.cs
- DataTemplate.cs
- XmlFormatWriterGenerator.cs
- FontEditor.cs
- InvokeMethodActivityDesigner.cs
- NavigatorInput.cs
- SelectionRange.cs
- GregorianCalendarHelper.cs
- XmlWhitespace.cs
- TreePrinter.cs
- DataGridViewRowsAddedEventArgs.cs
- DrawingState.cs
- BuildProviderCollection.cs
- SqlCharStream.cs
- CommonXSendMessage.cs
- GlyphRunDrawing.cs
- SecurityKeyType.cs
- CryptoConfig.cs
- HtmlInputText.cs
- StateDesignerConnector.cs
- DataListItem.cs
- VerticalAlignConverter.cs
- SplineKeyFrames.cs
- JoinElimination.cs
- Model3DGroup.cs
- LinqDataSourceContextData.cs
- StringTraceRecord.cs
- ListViewItem.cs
- InstanceDescriptor.cs
- xsdvalidator.cs
- SessionIDManager.cs
- TypeInitializationException.cs
- X509Certificate.cs
- LayoutInformation.cs
- TimeZone.cs
- CroppedBitmap.cs
- ProcessStartInfo.cs
- WsatRegistrationHeader.cs
- MetadataCache.cs
- RegisteredExpandoAttribute.cs
- DataTableReader.cs
- SqlFileStream.cs
- CellIdBoolean.cs
- ApplicationActivator.cs
- HScrollBar.cs
- HwndAppCommandInputProvider.cs
- XPathConvert.cs
- FieldBuilder.cs
- MemoryPressure.cs
- Point3DAnimation.cs
- CodeSnippetCompileUnit.cs
- XmlQualifiedName.cs
- ComponentConverter.cs
- TiffBitmapEncoder.cs
- ServiceMetadataBehavior.cs
- WizardForm.cs
- XPathNavigator.cs
- SecurityHelper.cs
- FilteredDataSetHelper.cs
- FixedStringLookup.cs
- NativeMethods.cs
- TreeNodeBindingDepthConverter.cs
- HandoffBehavior.cs
- FolderBrowserDialog.cs
- SoapAttributeOverrides.cs
- XmlQuerySequence.cs
- MatrixConverter.cs