EFコアは、null可のディスクリミネータ付きの識別器を持っています

asp.net-core c# ef-code-first entity-framework entity-framework-core

質問

私はすでにエンティティ上に弁別子を​​持っていると指定しようとしていますが、ここでそれをどのように表現するかはわかりません。

それらの間の弁別子は、列がヌルであるかどうかである。明らかに、それがnullの場合、私はそれを明示的に入れることができますが、そうでない場合は何をしますか?

protected override void OnModelCreating(ModelBuilder modelBuilder) {
    modelBuilder.Entity<Schedule>()
        .HasDiscriminator<Guid?>("ManagerId")
        .HasValue<EmployeeSchedule>(null)
        .HasValue<ManagerSchedule>(/* What goes here? */);
}

受け入れられた回答

それを解決するには、 bool IsManagerScheduleプロパティをSchedule.HasValue<ManagerSchedule>(true).HasValue<EmployeeSchedule>(false);


人気のある回答

手動構成を削除してから、以下を試してください。

public class EmployeeSchedule {
    // properties of all employees...
}

public class ManagerSchedule {
    public TYPE PropertyName {get; set;} // discriminator property
}


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ