2013-05-09 102 views
0

我不確定流利n休眠是否可以做到這一點,但我不知道如何。使用Fluent N休眠映射陣列

我有一個表 - 案件和一些屬性

OWNERID,brokerId,shipperId

我想這個映射到我的財產:

INT [] OrgsWithAccess

是這可能嗎?

當我檢查如果一個組織能夠訪問的情況下這樣一來,我可以檢查屬性OrgsWithAccess而非OWNERID == myorg.id或brokerId == myorg.id等

+0

表中什麼字段組成'int'數組?如果數據庫中的每一行只在應用程序的一個數組中表示爲「int」,那麼NHibernate會如何更新OrgsWithAccess的其他屬性以保持一致性? – 2013-05-09 12:27:35

+0

數據庫中的字段是ownerid,brokerid,shipperid,與類屬性名稱相同 – Haroon 2013-05-09 12:29:04

回答

0

如果我理解你的如果問題沒有問題,我不會建議您試圖按照您詢問的方式來繪製地圖。

cases表看起來像是其他表之間某種形式的聯結表。我假設這些表中的每個表都包含在應用程序中以實體表示的數據,並且有三個表,分別爲Owner,BrokerShipper

OrgsWithAccess應該用引用是已經在應用,即假定類的實體映射看起來像

public class OrgsWithAccess 
{ 
    public virtual Owner { get; set; } 

    public virtual Broker { get; set; } 

    public virtual Shipper { get; set; } 
} 

則映射會像

public class OrgsWithAccessMap : ClassMap<OrgsWithAccess> 
{ 
    public OrgsWithAccessMap() 
    { 
     References(x => x.Owner); 
     References(x => x.Broker); 
     References(x => x.Shipper); 
    } 
} 

然後查詢時,你只需看看OrgsWithAccess

session.QueryOver<OrgsWithAccess>().Where(x => x.Owner.Id == id);