2012-05-17 6 views
0

Говорят, у меня есть следующий AR Объект:Непосредственно Набор Колонна BelongsTo ассоциации в замок 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 [Property] под названием 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 (я думаю): я просто назначаю «новый» вопрос, созданный с помощью существующего идентификатора вопроса. Это выглядит ужасно, и, как я уже сказал, он по существу загружает кеш этими (очень) частично заполненными объектами вопроса (не проверяется, но поведение, похоже, указывает на то, что).

Смежные вопросы