private static IEnumerable <TypeMapping> GetIsTypeOfMappingsForEntitySetAndType( StorageMappingItemCollection mappingCollection, EntityContainer container, EntitySetBase entitySet, EntityTypeBase entityType, EntityTypeBase childEntityType) { foreach (TypeMapping typeMapping in MappingMetadataHelper.GetMappingsForEntitySetAndType(mappingCollection, container, entitySet, entityType)) { if (typeMapping.IsOfTypes.Any <EntityTypeBase>((Func <EntityTypeBase, bool>)(parentType => parentType.IsAssignableFrom((EdmType)childEntityType))) || typeMapping.Types.Contains(childEntityType)) { yield return(typeMapping); } } }
internal static IEnumerable <TypeMapping> GetMappingsForEntitySetAndSuperTypes( StorageMappingItemCollection mappingCollection, EntityContainer container, EntitySetBase entitySet, EntityTypeBase childEntityType) { return((IEnumerable <TypeMapping>)MetadataHelper.GetTypeAndParentTypesOf((EdmType)childEntityType, true).SelectMany <EdmType, TypeMapping>((Func <EdmType, IEnumerable <TypeMapping> >)(edmType => { EntityTypeBase entityType = edmType as EntityTypeBase; if (!edmType.EdmEquals((MetadataItem)childEntityType)) { return MappingMetadataHelper.GetIsTypeOfMappingsForEntitySetAndType(mappingCollection, container, entitySet, entityType, childEntityType); } return MappingMetadataHelper.GetMappingsForEntitySetAndType(mappingCollection, container, entitySet, entityType); })).ToList <TypeMapping>()); }
internal static IEnumerable <TypeMapping> GetMappingsForEntitySetAndType( StorageMappingItemCollection mappingCollection, EntityContainer container, EntitySetBase entitySet, EntityTypeBase entityType) { EntityContainerMapping containerMapping = MappingMetadataHelper.GetEntityContainerMap(mappingCollection, container); EntitySetBaseMapping extentMap = containerMapping.GetSetMapping(entitySet.Name); if (extentMap != null) { foreach (TypeMapping typeMapping in extentMap.TypeMappings.Where <TypeMapping>((Func <TypeMapping, bool>)(map => map.Types.Union <EntityTypeBase>((IEnumerable <EntityTypeBase>)map.IsOfTypes).Contains <EntityTypeBase>(entityType)))) { yield return(typeMapping); } } }
internal static IEnumerable <EntityTypeModificationFunctionMapping> GetModificationFunctionMappingsForEntitySetAndType( StorageMappingItemCollection mappingCollection, EntityContainer container, EntitySetBase entitySet, EntityTypeBase entityType) { EntityContainerMapping containerMapping = MappingMetadataHelper.GetEntityContainerMap(mappingCollection, container); EntitySetBaseMapping extentMap = containerMapping.GetSetMapping(entitySet.Name); EntitySetMapping entitySetMapping = extentMap as EntitySetMapping; if (entitySetMapping != null && entitySetMapping != null) { foreach (EntityTypeModificationFunctionMapping modificationFunctionMapping in entitySetMapping.ModificationFunctionMappings.Where <EntityTypeModificationFunctionMapping>((Func <EntityTypeModificationFunctionMapping, bool>)(functionMap => functionMap.EntityType.Equals((object)entityType)))) { yield return(modificationFunctionMapping); } } }