Cadre d'entité 4 - Héritage TPH dans les fonctionnalités CTP5 (code d'abord) avec discriminateur «est nul»
-
14-11-2019 - |
Question
Hé les gars, j'essaie de créer une cartographie TPH sur une hiérarchie où la clause de discrimination est le cas classique "n'est pas nul" / "est nul".
Voici l'exemple, la base de données:
CREATE TABLE info.EducationTypes
(
ID INT NOT NULL PRIMARY KEY,
Name NVARCHAR(64) NOT NULL,
FKParentID INT NULL REFERENCES info.EducationTypes(ID)
)
L'idée est d'avoir une hiérarchie de classe comme la suivante:
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; }
}
J'ai obtenu ce schéma "fonctionnant" dans le modèle XML classique, mais je ne trouve vraiment pas de moyen de le faire fonctionner en utilisant l'approche du code First. C'est ce que j'ai essayé ...
var educationType = modelBuilder.Entity<EducationType>();
educationType.Map<MainEducationType>(m => m.Requires("FKParentID").HasValue(null));
educationType.Map<SubEducationType>(m => m.Requires("FKParentID"));
Avez-vous une suggestion?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow