1
嘿家伙, 我想创建一个TPH映射层次结构,其中的歧视性条款是经典的“IS NOT NULL” /“IS NULL”的情况。实体框架4-TPH继承特性CTP5(代码第一)与“IS NULL”鉴别器
这里是例如,数据库明智:
CREATE TABLE info.EducationTypes
(
ID INT NOT NULL PRIMARY KEY,
Name NVARCHAR(64) NOT NULL,
FKParentID INT NULL REFERENCES info.EducationTypes(ID)
)
的想法是有一个类层次结构类似以下:
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; }
}
我得到这个架构“工作”中的经典XML模型,但我真的无法找到一种方法,通过使用代码优先的方法来实现它。这是我试过的...
var educationType = modelBuilder.Entity<EducationType>();
educationType.Map<MainEducationType>(m => m.Requires("FKParentID").HasValue(null));
educationType.Map<SubEducationType>(m => m.Requires("FKParentID"));
你有什么建议吗?