Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Query / InternalTrees / ExplicitDiscriminatorMap.cs / 1305376 / ExplicitDiscriminatorMap.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Metadata.Edm; using System.Collections.Generic; using System.Linq; namespace System.Data.Query.InternalTrees { ////// Describes user-defined discriminator metadata (e.g. for a basic TPH mapping). Encapsulates /// relevant data from System.Data.Mapping.ViewGenerabetion.DiscriminatorMap (that is to say, /// data relevant to the PlanCompiler). This separate class accomplishes two things: /// /// 1. Maintain separation of ViewGen and PlanCompiler /// 2. Avoid holding references to CQT expressions in ITree ops (which the ViewGen.DiscriminatorMap /// holds a few CQT references) /// internal class ExplicitDiscriminatorMap { private readonly System.Collections.ObjectModel.ReadOnlyCollection> m_typeMap; private readonly EdmMember m_discriminatorProperty; private readonly System.Collections.ObjectModel.ReadOnlyCollection m_properties; internal ExplicitDiscriminatorMap(System.Data.Mapping.ViewGeneration.DiscriminatorMap template) { m_typeMap = template.TypeMap; m_discriminatorProperty = template.Discriminator.Property; m_properties = template.PropertyMap.Select(propertyValuePair => propertyValuePair.Key) .ToList().AsReadOnly(); } /// /// Maps from discriminator value to type. /// internal System.Collections.ObjectModel.ReadOnlyCollection> TypeMap { get { return m_typeMap; } } /// /// Gets property containing discriminator value. /// internal EdmMember DiscriminatorProperty { get { return m_discriminatorProperty; } } ////// All properties for the type hierarchy. /// internal System.Collections.ObjectModel.ReadOnlyCollectionProperties { get { return m_properties; } } /// /// Returns the type id for the given entity type, or null if non exists. /// internal object GetTypeId(EntityType entityType) { object result = null; foreach (var discriminatorTypePair in this.TypeMap) { if (discriminatorTypePair.Value.EdmEquals(entityType)) { result = discriminatorTypePair.Key; break; } } return result; } } } // 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
- RenderCapability.cs
- ListItem.cs
- SqlConnectionFactory.cs
- WindowsRichEdit.cs
- NeutralResourcesLanguageAttribute.cs
- QueryStringParameter.cs
- PageBuildProvider.cs
- SqlCachedBuffer.cs
- ForeignKeyFactory.cs
- BitmapDownload.cs
- TagNameToTypeMapper.cs
- HttpStreamMessage.cs
- FlowDocument.cs
- versioninfo.cs
- FollowerQueueCreator.cs
- Site.cs
- Button.cs
- DataGridViewBindingCompleteEventArgs.cs
- UpdateProgress.cs
- SafeLocalMemHandle.cs
- ThemeableAttribute.cs
- DBCSCodePageEncoding.cs
- CodeDelegateInvokeExpression.cs
- X509Chain.cs
- SocketException.cs
- ToolboxItem.cs
- StorageAssociationTypeMapping.cs
- SqlMetaData.cs
- WebPartVerbCollection.cs
- IdnMapping.cs
- SoapServerMethod.cs
- RegionData.cs
- InstanceOwnerQueryResult.cs
- FactoryGenerator.cs
- TrueReadOnlyCollection.cs
- MobileControlsSectionHelper.cs
- wgx_commands.cs
- Parsers.cs
- NGCSerializerAsync.cs
- DTCTransactionManager.cs
- RemoteWebConfigurationHost.cs
- FixedSOMSemanticBox.cs
- MenuItemBindingCollection.cs
- SessionStateSection.cs
- UpdatableGenericsFeature.cs
- CodeCommentStatementCollection.cs
- TypeUtils.cs
- PartialList.cs
- AppendHelper.cs
- SingleResultAttribute.cs
- StartFileNameEditor.cs
- SessionStateUtil.cs
- ToolStripDesignerAvailabilityAttribute.cs
- IndicShape.cs
- MetafileEditor.cs
- GenericNameHandler.cs
- XmlAttributes.cs
- UnsettableComboBox.cs
- Set.cs
- ImageField.cs
- TextSimpleMarkerProperties.cs
- QueuedDeliveryRequirementsMode.cs
- Or.cs
- PriorityQueue.cs
- ClipboardProcessor.cs
- RecognizedAudio.cs
- ServiceProviders.cs
- DistinctQueryOperator.cs
- TextSearch.cs
- HandlerBase.cs
- ContentOperations.cs
- TheQuery.cs
- XmlSchemaAnnotated.cs
- PartBasedPackageProperties.cs
- OraclePermissionAttribute.cs
- ThreadAbortException.cs
- AutoResetEvent.cs
- ProcessModelInfo.cs
- LambdaCompiler.ControlFlow.cs
- Clock.cs
- InvalidateEvent.cs
- DictionarySectionHandler.cs
- GuidConverter.cs
- SizeConverter.cs
- DataSourceProvider.cs
- ButtonRenderer.cs
- SlotInfo.cs
- SoapObjectReader.cs
- BaseCAMarshaler.cs
- TreeNodeSelectionProcessor.cs
- TypeResolver.cs
- TaskFormBase.cs
- FakeModelItemImpl.cs
- EntityAdapter.cs
- DataGridViewCellStyleConverter.cs
- OracleInfoMessageEventArgs.cs
- SevenBitStream.cs
- GeneralTransformGroup.cs
- Line.cs
- MaterializeFromAtom.cs