Herencia múltiple con Entity Framework TPC

Intenté asignar algunas clases usando Entity Framework en estilo TPC y obtuve el siguiente error:

Error: el tipo 'A' no se puede asignar como se define porque asigna propiedades heredadas de tipos que usan la división de entidades u otra forma de herencia. Elija una estrategia de mapeo de herencia diferente para no asignar propiedades heredadas, o cambie todos los tipos en la jerarquía para asignar propiedades heredadas y no usar la división.

Este error ocurre cuando uso las siguientes clases:

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

En el método OnModelCreating agregué el siguiente código para obtener el mapeo TPC

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

Cuando excluyo BaseEntityTest2 de la estructura (para que A herede solo de BaseEntityTest en lugar de BaseEntityTest2) el error desaparece. ¿Eso significa que no es posible crear esta asignación o simplemente me olvido de algo?

EDITAR:

Propiedades de las clases:

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; }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta