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
- AtlasWeb.Designer.cs
- TypefaceMap.cs
- CriticalFinalizerObject.cs
- XmlSecureResolver.cs
- InkCanvasInnerCanvas.cs
- Inflater.cs
- BitmapEffectInput.cs
- QilPatternVisitor.cs
- SiteOfOriginContainer.cs
- CLSCompliantAttribute.cs
- EntryWrittenEventArgs.cs
- DataGridColumn.cs
- X509CertificateCollection.cs
- RawStylusActions.cs
- ServicePointManager.cs
- AutoResetEvent.cs
- ConfigXmlWhitespace.cs
- mongolianshape.cs
- ColorContext.cs
- XmlSchemaInferenceException.cs
- StrongNamePublicKeyBlob.cs
- CodeTypeParameterCollection.cs
- WindowsAltTab.cs
- WindowsEditBox.cs
- CallSiteOps.cs
- Recipient.cs
- Qualifier.cs
- ObjectListCommandsPage.cs
- CacheEntry.cs
- GuidConverter.cs
- RefreshEventArgs.cs
- ClosableStream.cs
- XmlStringTable.cs
- BinaryFormatterWriter.cs
- EventBuilder.cs
- Repeater.cs
- XmlSchemaImport.cs
- PixelShader.cs
- UiaCoreApi.cs
- SqlRewriteScalarSubqueries.cs
- CodeIterationStatement.cs
- messageonlyhwndwrapper.cs
- GroupQuery.cs
- LookupBindingPropertiesAttribute.cs
- ILGenerator.cs
- HttpValueCollection.cs
- HashLookup.cs
- EncoderExceptionFallback.cs
- PolyBezierSegment.cs
- PaintEvent.cs
- TransformProviderWrapper.cs
- OleDbDataReader.cs
- BypassElementCollection.cs
- NullExtension.cs
- SqlCommand.cs
- HiddenField.cs
- RegexMatchCollection.cs
- Request.cs
- MenuStrip.cs
- PathFigureCollection.cs
- HwndMouseInputProvider.cs
- DirtyTextRange.cs
- HtmlTableCellCollection.cs
- ImageButton.cs
- CompoundFileDeflateTransform.cs
- CodeAccessSecurityEngine.cs
- OutputCacheSection.cs
- MessageContractAttribute.cs
- WebPartConnectionCollection.cs
- MobileUserControl.cs
- WebPartConnectionsDisconnectVerb.cs
- CultureTable.cs
- CollectionDataContract.cs
- TraceContextRecord.cs
- AuthenticationModuleElement.cs
- AdornedElementPlaceholder.cs
- MLangCodePageEncoding.cs
- HtmlWindowCollection.cs
- TableCellCollection.cs
- XDRSchema.cs
- ErrorFormatterPage.cs
- GroupStyle.cs
- UnsafeNativeMethods.cs
- DescendantBaseQuery.cs
- GeneralTransformCollection.cs
- TripleDES.cs
- SingleBodyParameterMessageFormatter.cs
- WebPartHeaderCloseVerb.cs
- XPathNodeIterator.cs
- TopClause.cs
- XmlRootAttribute.cs
- SerializationObjectManager.cs
- ListView.cs
- TextRangeEditLists.cs
- FacetDescriptionElement.cs
- DesignOnlyAttribute.cs
- RuleSetDialog.cs
- IIS7UserPrincipal.cs
- ToolStripDropDownItemDesigner.cs
- Triplet.cs