public static void AddConfiguration <TEntity>(this ModelBuilder modelBuilder, TypeConfiguration <TEntity> configuration, List <PropertyInfo> dbsets, string schema) where TEntity : class { var modelType = typeof(TEntity); var isInDbSet = dbsets.Any(x => x.PropertyType.GenericTypeArguments.First() == modelType); var baseType = modelType.GetTypeInfo().BaseType; if (!isInDbSet) { var isTablePerHierarchy = dbsets.Any(x => x.PropertyType.GenericTypeArguments.First() == baseType); var entityTypeConfiguration = new EntityTypeConfiguration(); entityTypeConfiguration.Map(modelBuilder.Entity <TEntity>(), true, schema, isTablePerHierarchy); } configuration.Map(modelBuilder.Entity <TEntity>()); }