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
- AxDesigner.cs
- TableItemPattern.cs
- MouseButton.cs
- CopyCodeAction.cs
- IntranetCredentialPolicy.cs
- Codec.cs
- CompressedStack.cs
- PrimarySelectionAdorner.cs
- TransmissionStrategy.cs
- TextBoxLine.cs
- ComponentSerializationService.cs
- TableAdapterManagerGenerator.cs
- XmlNamespaceDeclarationsAttribute.cs
- ValidationHelper.cs
- RegexMatchCollection.cs
- ConditionalExpression.cs
- XmlToDatasetMap.cs
- SafeBitVector32.cs
- SortDescriptionCollection.cs
- SolidColorBrush.cs
- Merger.cs
- WebServiceErrorEvent.cs
- serverconfig.cs
- CacheOutputQuery.cs
- TraceXPathNavigator.cs
- DataSourceGeneratorException.cs
- IdleTimeoutMonitor.cs
- ErrorFormatterPage.cs
- ContainerTracking.cs
- CaseInsensitiveOrdinalStringComparer.cs
- PageSettings.cs
- TdsParser.cs
- EntityEntry.cs
- MergablePropertyAttribute.cs
- UnsafeNativeMethods.cs
- PropertyHelper.cs
- BasicExpandProvider.cs
- MsmqIntegrationBindingCollectionElement.cs
- SyncOperationState.cs
- ListenerTraceUtility.cs
- QilXmlReader.cs
- CodeSnippetCompileUnit.cs
- ManagementException.cs
- IListConverters.cs
- TableLayoutRowStyleCollection.cs
- Crypto.cs
- AsmxEndpointPickerExtension.cs
- WebPartConnectionsEventArgs.cs
- PreservationFileWriter.cs
- RTLAwareMessageBox.cs
- COM2PictureConverter.cs
- ServiceModelEnumValidator.cs
- InternalControlCollection.cs
- SqlBooleanMismatchVisitor.cs
- ZipIOBlockManager.cs
- MetadataException.cs
- UInt64.cs
- TypeUsageBuilder.cs
- BasicKeyConstraint.cs
- PeerNameResolver.cs
- BrowserInteropHelper.cs
- DoubleStorage.cs
- WrappedDispatcherException.cs
- GridViewColumnCollectionChangedEventArgs.cs
- MaskedTextBox.cs
- PageBuildProvider.cs
- XPathAxisIterator.cs
- ActivityCompletionCallbackWrapper.cs
- ColorConvertedBitmap.cs
- SoapIgnoreAttribute.cs
- FixedSchema.cs
- SafeLocalMemHandle.cs
- TextParaLineResult.cs
- DateRangeEvent.cs
- CapabilitiesRule.cs
- FormViewPagerRow.cs
- SharedMemory.cs
- ExpressionBindings.cs
- ButtonColumn.cs
- MonthCalendar.cs
- LinqDataSourceUpdateEventArgs.cs
- ColorAnimationBase.cs
- RayHitTestParameters.cs
- StackBuilderSink.cs
- XmlnsPrefixAttribute.cs
- NonPrimarySelectionGlyph.cs
- Descriptor.cs
- ObjectDisposedException.cs
- CacheMemory.cs
- ServicesSection.cs
- ItemPager.cs
- _NetworkingPerfCounters.cs
- HtmlInputButton.cs
- SoapParser.cs
- DetailsViewDeleteEventArgs.cs
- OracleLob.cs
- X509IssuerSerialKeyIdentifierClause.cs
- RequiredAttributeAttribute.cs
- PerformanceCounterManager.cs
- MailWebEventProvider.cs