相关疑难解决方法(0)

如何使用与父ID不同的列映射到已连接的子类?

我正在使用一个棕色数据库,我正在尝试配置一个子类映射,该映射使用除指定id之外的列连接到其子类.该login表有一个主键列login_sk,我想用它作为它的id.它通过一个login_cust_id列连接到两个表(为了使相邻表中相应列的命名方式更加有趣).如果我设置login_cust_id为UserMap的id,它会按预期加入其子类.我希望显而易见的原因是我不想将login_cust_id其用作我的User对象的id.

public class UserMap : ClassMap<IUser>
{
    public UserMap()
    {
        Table("login");
        Id(x => x.Id).Column("login_sk"); // want to setup map like this

        // if used instead this works for subclass joining / mapping
        // Id(x => x.Id).Column("login_cust_id");
        // would prefer to only reference login_cust_id for subclass mapping
    }
}

public class CustomerUserMap : SubclassMap<CustomerUser>
{
    public CustomerUserMap()
    {
        Table("customer");
        Map(c => c.DisplayName, "cust_mail_name");
        Map(c => c.RecordChangeName, "cust_lookup_name");
        KeyColumn("cust_id");
    } …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping fluent-nhibernate fluent-nhibernate-mapping

6
推荐指数
1
解决办法
1936
查看次数