internal static IEnumerable <EdmType> GetTypeAndSubtypesOf( EdmType type, MetadataWorkspace workspace, bool includeAbstractTypes) { return(MetadataHelper.GetTypeAndSubtypesOf(type, workspace.GetItemCollection(DataSpace.CSpace), includeAbstractTypes)); }
internal static Set <EdmMember> GetConcurrencyMembersForTypeHierarchy( EntityTypeBase superType, EdmItemCollection edmItemCollection) { Set <EdmMember> set = new Set <EdmMember>(); foreach (StructuralType structuralType in MetadataHelper.GetTypeAndSubtypesOf((EdmType)superType, (ItemCollection)edmItemCollection, true)) { foreach (EdmMember member in structuralType.Members) { if (MetadataHelper.GetConcurrencyMode(member) == ConcurrencyMode.Fixed) { set.Add(member); } } } return(set); }
internal static IEnumerable <EdmType> GetTypeAndSubtypesOf( EdmType type, ItemCollection itemCollection, bool includeAbstractTypes) { if (Helper.IsRefType((GlobalItem)type)) { type = (EdmType)((RefType)type).ElementType; } if (includeAbstractTypes || !type.Abstract) { yield return(type); } foreach (EdmType edmType in MetadataHelper.GetTypeAndSubtypesOf <EntityType>(type, itemCollection, includeAbstractTypes)) { yield return(edmType); } foreach (EdmType edmType in MetadataHelper.GetTypeAndSubtypesOf <ComplexType>(type, itemCollection, includeAbstractTypes)) { yield return(edmType); } }