2011-09-12 264 views
0

我有2個類,MasterItem和ItemUOM。 ItemUOM是我已經映射和MasterItem一個簡單的表的視圖。 是否有可能在ItemUOM中引用MasterItem。流利Nhibernate映射

ItemUOM類:

public class ItemUOM : EntityBase<ItemUOM> 
{ 
    public virtual string ItemAlias { get; set; } 
    public virtual string Code { get; set; } 
    public virtual string UOM { get; set; } 
    public virtual decimal PackSize { get; set; } 
    public virtual long MasterItemID { get; set; } 
    **public virtual DomainEntities.MasterItem MasterItem { get; set; }** 
} 

ItemUOM映射

public ItemUOMMapping() 
    { 
     Table("View_ItemUOM"); 
     Id(x => x.ID); 
     Map(x => x.Code); 
     Map(x => x.ItemAlias); 
     Map(x => x.UOM); 
     Map(x => x.PackSize); 
    } 

我怎麼可以參考類 「MasterItem」。

感謝弗朗索瓦

回答

1

您需要刪除 MasterItemID和使用References(x => x.MasterItem)

+0

我沒有對鍵的引用,記得這是一個SQL視圖。 – francois

+0

我需要告訴MasterItemID映射回tabel MasterItem的映射。 – francois

0

看起來你需要定期many-to-one

public ItemUOMMapping() 
{ 
    Table("View_ItemUOM"); 
    Id(x => x.ID); 
    Map(x => x.Code); 
    Map(x => x.ItemAlias); 
    Map(x => x.UOM); 
    Map(x => x.PackSize); 
    References(x => x.MasterItem) 
     .Column("MasterItemID"); 
} 

而且MasterItem應該有自己的地圖,你指定其所有屬性。

+0

我收到一個無效的列名'MasterItemID'。如果我採取SQL查詢並在SQL中執行它,它的作品。 – francois