示例#1
0
 private static bool RemapsInheritedProperties(
     DbDatabaseMapping databaseMapping,
     EntityTypeMapping entityTypeMapping)
 {
     foreach (EdmProperty edmProperty in entityTypeMapping.EntityType.Properties.Except <EdmProperty>((IEnumerable <EdmProperty>)entityTypeMapping.EntityType.DeclaredProperties).Except <EdmProperty>((IEnumerable <EdmProperty>)entityTypeMapping.EntityType.GetKeyProperties()))
     {
         EdmProperty     property = edmProperty;
         MappingFragment fragment = MappingInheritedPropertiesSupportConvention.GetFragmentForPropertyMapping(entityTypeMapping, property);
         if (fragment != null)
         {
             for (EntityType baseType = (EntityType)entityTypeMapping.EntityType.BaseType; baseType != null; baseType = (EntityType)baseType.BaseType)
             {
                 if (databaseMapping.GetEntityTypeMappings(baseType).Select <EntityTypeMapping, MappingFragment>((Func <EntityTypeMapping, MappingFragment>)(baseTypeMapping => MappingInheritedPropertiesSupportConvention.GetFragmentForPropertyMapping(baseTypeMapping, property))).Any <MappingFragment>((Func <MappingFragment, bool>)(baseFragment =>
                 {
                     if (baseFragment != null)
                     {
                         return(baseFragment.Table != fragment.Table);
                     }
                     return(false);
                 })))
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }