2012-05-17 60 views
0

說我有以下的AR對象:在城堡的ActiveRecord屬於關聯協會直接設置列

namespace Models 
{ 
    [ActiveRecord(Lazy = true, Table = "Answer"), Serializable] 
    public class Answer : ActiveRecordLinqBase<Answer> 
    { 
     public Answer() {} 

     [PrimaryKey] 
     public virtual int ID { get; set; } 

     [BelongsTo("QuestionID")] 
     public virtual Question Question { get; set; } 
    } 
} 

有什麼辦法,我直接設置QuestionID?我試圖創建一個額外的AR [屬性]所謂QuestionID用於此目的,但我碰上這裏所描述的NH錯誤:

http://devlicio.us/blogs/derik_whittaker/archive/2009/03/19/nhibernate-and-invalid-index-n-for-this-sqlparametercollection-with-count-n-error.aspx

我試圖單元測試這個類,我真的不要」 t想要建立一個數據庫(在內存或其他)來做這個單元測試。設置QuestionID是我目前正在測試的功能所需要做的。

謝謝。

回答

0

我發現一個黑客工具,實現我需要什麼,但NH緩存負面影響(我認爲):我簡單地分配給一個「新」的問題,與現有問題的ID實例。它看起來很可怕,正如我所說的,它實質上是用這些(非常)部分填充的問題對象(未驗證,但行爲似乎表示儘可能多)加載緩存。