我有一个名为 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 表中的相同行。映射条件可用于区分这些类型映射到的行。