2012-09-26 67 views
0
public class CTTypeMap :Enity<CTTypeMap> 
{ 
    public CTTypeMap() 
    { 
    Id(x => x.ID); 
    Map(x => x.createdOn); 
    Map(x => x.list_id); 
    References(x = x.CtListType).Column("list_id"); 
    } 
} 

在上面的代碼行中,語句References(x = x.CtType).Column("list_id");映射實體CtListType的到的CTType Id列的LIST_ID。 我需要將實體CtListTypelist_id映射到CTType的list_id列。 請讓我知道。流利nhiberate參考鍵字

+0

是否要映射實體CtListType和屬性list_id?另外,另一個問題:Enity是來自ClassMap的派生類嗎? –

+0

是的..(對於這兩個問題) – user1618587

回答

0

爲了避免「無效的指數n此SqlParameterCollection以計數= N」的錯誤,你應該映射list_id屬性爲只讀,這樣的:

public class CTTypeMap :Enity<CTTypeMap> 
{ 
    public CTTypeMap() 
    { 
    Id(x => x.ID); 
    Map(x => x.createdOn); 
    Map(x => x.list_id).Readonly(); 
    References(x = x.CtListType).Column("list_id"); 
    } 
} 

這種方式,您可以同時選擇字段和沒有問題的實體。這樣做的缺點是您無法通過字段list_id插入或更新。

UPDATE:也許這並不是實現正確的方式,因爲你兩次映射相同的領域,所以我建議你檢查本post提出了另一種解決方案。

相關問題