Party という抽象基本クラスがあります。具体的なサブクラスがいくつかあります (Company、Person、Department)。Party には、識別子として使用される PartyType というプロパティがあります。各タイプは、次のような構成を持つ独自のテーブルにあります
Map<Person>(p => p.Requires("PartyType").HasValue("Person").ToTable("People");
すべてがうまく機能します。次に、Employee という Person のサブクラスを追加します。これをどのようにマッピングしますか?私はもう試した
Map<Employee>(e => e.Requires("PartyType").HasValue("Employee")
.ToTable("Employees");
しかし、これにより実行時エラーが発生します
(43,10) : エラー 3032: 43 行目、84 行目から始まるフラグメントのマッピングの問題:EntityTypes WOL.EFData.Person、WOL.EFData.Employee がテーブル People の同じ行にマップされています。マッピング条件を使用して、これらのタイプがマップされる行を区別できます。