//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Data.Common.Utils; using System.Text; namespace System.Data.Mapping { /// /// Base class for the type created at design time to store the generated views. /// public abstract class EntityViewContainer { #region Constructors protected EntityViewContainer() { } #endregion #region fields private string m_storedHashOverMappingClosure; // Hash value over the whole Metadata and Mapping closure private string m_storedhashOverAllExtentViews; // Hash value over all the extent views private string m_storededmEntityContainerName; // C side entity container name private string m_storedStoreEntityContainerName; // S side entity container name private int _viewCount; #endregion #region properties /// /// Returns the cached dictionary of (ExtentName,EsqlView) /// internal IEnumerable> ExtentViews { get { for (int i = 0; i < ViewCount; i++) { yield return GetViewAt(i); } } } protected abstract System.Collections.Generic.KeyValuePair GetViewAt(int index); [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] public string EdmEntityContainerName { get { return this.m_storededmEntityContainerName; } set { this.m_storededmEntityContainerName = value; } } public string StoreEntityContainerName { get { return this.m_storedStoreEntityContainerName; } set { this.m_storedStoreEntityContainerName = value; } } public string HashOverMappingClosure { get { return this.m_storedHashOverMappingClosure; } set { this.m_storedHashOverMappingClosure = value; } } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId = "OverAll")] public string HashOverAllExtentViews { get { return this.m_storedhashOverAllExtentViews; } set { this.m_storedhashOverAllExtentViews = value; } } public int ViewCount { get { return _viewCount; } protected set { _viewCount = value; } } #endregion } }