我正在为我的 Id 表使用特定的约定,并且我想覆盖特定实体的 ID 的映射方式。在这种情况下,大多数实体应该是 Class+ID 形式的键(例如:EmployeeId、DepartmentId 等),但我想为几个实体使用特定属性。所以,我添加了一个默认的约定规则:
class MyPrimaryKeyConvention:IIdConvention{
public void Apply(IIdentityInstance instance) {
instance.Column(instance.EntityType.Name + "Id");
instance.GeneratedBy.Assigned();
}
}
然后,我想我可以通过执行以下操作来覆盖“特殊” EmployeeShortInfo 类的映射:
public class EmployeeShortInfoIdOverride: IAutoMappingOverride<Dtos.EmployeeShortInfo> {
public void Override(AutoMapping<Dtos.EmployeeShortInfo> mapping) {
mapping.Id(e => e.EmployeeId);
}
}
不幸的是,fluent 会尝试使用 EmployeeShortInfoId 而不是使用 EmployeeId 属性。IAutoMappingOverride 不应该覆盖类的默认约定吗?
谢谢。