Herança Múltipla com TPC do Entity Framework

Eu tentei mapear algumas classes usando o Entity Framework no estilo TPC e recebi o seguinte erro:

Erro: O tipo 'A' não pode ser mapeado como definido porque ele mapeia propriedades herdadas de tipos que usam divisão de entidade ou outra forma de herança. Escolha uma estratégia de mapeamento de herança diferente para não mapear propriedades herdadas ou alterar todos os tipos na hierarquia para mapear propriedades herdadas e não usar divisão.

Este erro ocorre quando eu uso as seguintes classes:

public abstract class BaseEntityTest
public abstract class BaseEntityTest2 : BaseEntityTest
public abstract class BaseEntityTest3 : BaseEntityTest2
public class A: BaseEntityTest3 // this class is the only one with a table in the db

No método OnModelCreating, adicionei o seguinte código para obter o mapeamento do TPC

modelBuilder.Entity<A>().Map(m =>
{
  m.MapInheritedProperties();
  m.ToTable("A");
});

Quando excluo BaseEntityTest2 da estrutura (para que A herde apenas de BaseEntityTest em vez de BaseEntityTest2), o erro desaparece. Isso significa que não é possível criar este mapeamento ou apenas sinto falta de algo?

EDITAR:

Propriedades das classes:

public abstract class BaseEntityTest
{

    [Key]
    public Guid Id { get; set; }

    public String Info { get; set; }

    [Required]
    public DateTime CreationDate { get; set; }

    [Required]
    public String CreationUser { get; set; }

    [Required]
    public DateTime ModificationDate { get; set; }

    [Required]
    public String ModificationUser { get; set; }

    [ConcurrencyCheck]
    [Required]
    public int LockVersion { get; internal set; }
}

public abstract class BaseEntityTest2 : BaseEntityTest
{
    [Required]
    public string Name { get; set; }

    public string Description { get; set; }

}

public abstract class BaseEntityTest3: BaseEntityTest2 
{

    [Required]
    public DateTime FromDate { get; set; }

    public DateTime ThruDate { get; set; }
}

public class A: BaseEntityTest3{
    public String Test { get; set; }
}

questionAnswers(2)

yourAnswerToTheQuestion