我有映射表A列的一类,它主要是映射到表B.下面的属性问题映射一个属性解释这更好:功能NHibernate从另一个表
有一个类CustomerRisk,它具有Risk和CustomerNumber属性。
在数据库中,它由两个表组成:Customer(客户)和CustomerRisk(CustomerRisk),CustomerRisk具有Customer的外键,Risk(风险)的一个。
映射风险并不难,但映射CustomerNumber是问题。有没有可能做到这一点,而不创建一个客户类*?所以NHibernate加入Customer类以选择CustomerNumber:
select cn.CustomerNumber, r.Description
from CustomerRisk cr
inner join Customer c on c.CustomerID = cr.CustomerID
inner join Risk r on r.RiskID = cr.RiskID
多个CustomerRisk记录当然可以有相同的CustomerID。
希望这有点清楚,非常感谢。
- 我知道你通常需要一个客户类,但我已经'匿名'类。
我们通过为Customer表创建一个类,但隐藏了CustomerRisk中的Customer属性(内部,所以Fluent NH仍然可以通过AssemblyInfo中的InternalsVisibleTo访问它)来解决它。 CustomerRisk.CustomerNumber属性然后仅返回其内部Customer属性的CustomerNumber属性。 – Peter 2009-04-21 14:42:54