Wielokrotne dziedziczenie z TPC Entity Framework

Próbowałem zmapować niektóre klasy za pomocą Entity Framework w stylu TPC i otrzymałem następujący błąd:

Błąd: Typu „A” nie można odwzorować zgodnie z definicją, ponieważ odwzorowuje on odziedziczone właściwości z typów, które używają podziału jednostek lub innej formy dziedziczenia. Wybierz inną strategię mapowania dziedziczenia, aby nie mapować dziedziczonych właściwości, lub zmień wszystkie typy w hierarchii, aby mapować dziedziczone właściwości i nie używać podziału.

Ten błąd występuje, gdy używam następujących klas:

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

W metodzie OnModelCreating dodałem następujący kod, aby uzyskać mapowanie TPC

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

Kiedy wykluczam BaseEntityTest2 ze struktury (tak, że A dziedziczy tylko z BaseEntityTest zamiast BaseEntityTest2), błąd zniknie. Czy to oznacza, że ​​nie można utworzyć tego mapowania, czy po prostu coś przegapię?

EDYTOWAĆ:

Właściwości klas:

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