0

次のARオブジェクトがあるとします。

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を直接設定する方法はありますか?この目的のためにQuestionIDという追加のAR[プロパティ]を作成しようとしましたが、ここで説明するNHエラーが発生しました。

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

私はこのクラスを単体テストしようとしていますが、この単体テストを行うためにデータベースを(メモリ内またはその他の場所に)セットアップする必要は本当にありません。現在テスト中の機能に対して行う必要があるのは、QuestionIDを設定することだけです。

ありがとう。

4

1 に答える 1

0

必要なことを達成するハックを見つけましたが、NHキャッシュに悪影響を及ぼします(私は思います) 。既存の質問のIDでインスタンス化された「新しい」質問に割り当てるだけです。それはひどいように見えます、そして私が言ったように、それは本質的にこれらの(非常に)部分的に満たされた質問オブジェクトでキャッシュをロードします(検証されていませんが、振る舞いは同じくらい多くを示しているようです)。

于 2012-05-17T15:31:37.277 に答える