Estrutura de entidade 4 - Herança TPH nos recursos CTP5 (codifique primeiro) com discriminador "IS NULL"

Ei pessoal, estou tentando criar um mapeamento TPH em uma hierarquia em que a cláusula discriminatória é o caso clássico "NÃO É NULL" / "É NULL".

Aqui está o exemplo, em termos de banco de dados:

CREATE TABLE info.EducationTypes
(
   ID INT NOT NULL PRIMARY KEY,
   Name NVARCHAR(64) NOT NULL,
   FKParentID INT NULL REFERENCES info.EducationTypes(ID)
)

a ideia é ter uma hierarquia de classes como a seguinte:

public abstract class EducationType
{
    public int ID { get; set; }
    public string Name { get; set; }
}

public class MainEducationType : EducationType
{
    public IEnumerable<SubEducationType> SubTypes { get; set; }
}

public class SubEducationType : EducationType
{
    public MainEducationType MainType { get; set; }
}

Consegui esse esquema "funcionando" no modelo xml clássico, mas realmente não consigo encontrar uma maneira de fazê-lo usando a primeira abordagem de código. Isto é o que eu tentei ...

var educationType = modelBuilder.Entity<EducationType>();
educationType.Map<MainEducationType>(m => m.Requires("FKParentID").HasValue(null));
educationType.Map<SubEducationType>(m => m.Requires("FKParentID"));

Você tem alguma sugestão?

questionAnswers(1)

yourAnswerToTheQuestion