考虑下面的类:

class Order {
    int OrderId {get; set;}
    int CustomerId {get; set;}
    string CustomerName {get; set;}
    //other fields go here
}

被映射到订单表。是否有可能通过外键关系的属性客户名称的客户表映射?

其他提示

我强烈建议你不要使用<join/>这一点。虽然它会完成你的要求是什么,它产生其他问题。

相反,订单应该与客户的关系。然后,您可以投影的名称,如果你想要,但它更容易,只需使用order.Customer.Name

所以,它归结为这样:

1)添加Customer属性Order

public virtual Customer Customer { get; set; }

2)地图的属性(在该示例中,客户ID是FK列的名称)

<many-to-one name="Customer" column="CustomerId"/>

3)如果你特别希望有一个CustomerName属性,从客户的项目是:

public virtual string CustomerName { get { return Customer.Name; } }
scroll top