Example #1
0
 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);
         }
     }
 }
Example #2
0
 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>());
 }
Example #3
0
        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);
                }
            }
        }
Example #4
0
        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);
                }
            }
        }