我目前正試圖獲得(流利)NHibernate映射對象到我們的遺留數據庫模式。有三個表涉及。(流利)NHibernate的:從單獨的表到對象的地圖字段
- 表一個包含實際對象我需要檢索
- 表B的大多數信息是與表C連接表中的一個表
- 表c具有一個附加字段需要使用的對象
一個SQL查詢來檢索信息如下:
SELECT z.ID, z.ZANR, e.TDTEXT
FROM PUB.table_a z
JOIN PUB.table_b t ON (t.TDKEY = 602)
JOIN PUB.table_c e ON (e.ID = t.ID AND e.TDNR = z.ZANR)
WHERE z.ZANR = 1;
的主要問題是如何在映射中指定這兩個連接條件。
實體表看起來是這樣的:
public class EntityA
{
public virtual long Id { get; set; }
public virtual int Number { get; set; }
public virtual string Name { get; set; }
}
名稱應該映射到列table_c.TDTEXT。
映射我到目前爲止是這樣的:
public class EntityAMap : ClassMap<EntityA>
{
public EntityAMap()
{
Table("PUB.table_a");
Id(x => x.Id).Column("ID");
Map(x => x.Number).Column("ZANR");
}
}
我儘量想先用相同的策略加入爲How to join table in fluent nhibernate,但是這是行不通的,因爲我沒有從直接引用table_a到table_b,連接它們的唯一東西是常數602(參見上面的SQL查詢)。
我沒有找到一種方法來以某種方式在映射中指定該常量。
,請問您對實體是什麼樣子?你到目前爲止試過了什麼樣的映射? – 2012-07-23 07:23:58