Fluent nhibernate “国际投资协定”;否决;自动映射

Fluent nhibernate “国际投资协定”;否决;自动映射,fluent-nhibernate,automapping,Fluent Nhibernate,Automapping,我正在为我的Id表使用特定的约定,并且我希望覆盖映射特定实体的Id的方式。在这个场景中,大多数实体都应该在Class+ID(例如:EmployeeId、DepartmentId等)表单上有一个键,但我想为几个实体使用一个特定的属性。因此,我添加了一个默认约定规则: class MyPrimaryKeyConvention:IIdConvention{ public void Apply(IIdentityInstance instance) { instance.Colu

我正在为我的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);
    }
}
公共类EmployeeShortInfoIdOverride:IAAutoMappingOverride{
公共无效替代(自动映射){
mapping.Id(e=>e.EmployeeId);
}
}
不幸的是,fluent将尝试使用EmployeeShortInfoId,而不是使用EmployeeId属性。IAutoMappingOverride不应该覆盖类的默认约定吗


谢谢。

同样的问题。修好了没有?