从NHibernate的另一个表映射属性字段
-
21-09-2019 - |
题
考虑下面的类:
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; } }
不隶属于 StackOverflow