我试图指明我已经在实体上有一个鉴别器,但我不知道如何在这里表示它。
它们之间的鉴别器是列是否为空。显然,它是null的情况我可以明确地说明,但我怎么办呢?
protected override void OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder.Entity<Schedule>()
.HasDiscriminator<Guid?>("ManagerId")
.HasValue<EmployeeSchedule>(null)
.HasValue<ManagerSchedule>(/* What goes here? */);
}
答案 0 :(得分:1)
通过将bool IsManagerSchedule
属性放在Schedule
上,然后使用.HasValue<ManagerSchedule>(true).HasValue<EmployeeSchedule>(false);
来解决此问题。
答案 1 :(得分:0)
尝试删除手动配置,然后:
public class EmployeeSchedule {
// properties of all employees...
}
public class ManagerSchedule {
public TYPE PropertyName {get; set;} // discriminator property
}