2015-05-19 83 views
0

我有簡單的任務。我需要地圖參考本質和他們的ID其他本質。NHibernate映射參考和參考ID

如果我用這個地圖我得到錯誤:

"Additional information: Invalid index 24 for this SqlParameterCollection with Count=24."

public CityMap() 
    { 
     Map(x => x.Name).Not.Nullable(); 
     //Map(x => x.AddressID); //This line makes trouble 

     References(x => x.Address); 
+0

'public virtual int AddressId {get {return Address.Id; }}'? –

回答

1

我們可以爲讀操作做到這一點(我也很樂意使用這種方法)。只是,其中一個屬性必須是insert="false"update="false"

用流利的應該是這樣的:

... 
Map(x => x.AddressID) 
    .Insert(false).Udpate(false) 
    // or just 
    // .ReadOnly() 
    ; 
References(x => x.Address); 

我們只需要決定這將是隻讀的。參考?或ValueType?我會參考可編輯的,因爲那時在建的所有功能NHibernate的將工作(例如分配給臨時對象將正確地插入後剛剛創建的ID)

還要檢查這些對於一些細節檢查thishere