Как я отображаю свойство без метода set и никакое свойство поддержки бегло с NHibernate?

Скажем, у меня есть следующий объект:

public class CalculationInfo
{
    public virtual Int64 Id { get; set; }

    public virtual decimal Amount { get; set; }

    public virtual decimal SomeVariable { get; set; }

    public virtual decimal SomeOtherVariable { get; set; }

    public virtual decimal CalculatedAmount
    { 
        get
        {
            decimal result;

            // do crazy stuff with Amount, SomeVariable and SomeOtherVariable

            return result;
        }
    }
}

В основном я хочу считать и записать все поля к моей базе данных с NHibernate за исключением CalculatedAmount, который я просто хочу записать и не считать, въезжают задним ходом.

Каждая подобная проблема и соответствующий ответ имели дело с определением запоминающего устройства для значения, которое я не буду иметь в этом сценарии.

Как я могу выполнить этот использующий Быстрый NHibernate?

Спасибо!

ОБНОВЛЕНИЕ: вот то, что я попробовал, и ошибка, к которой это приводит:

Вот мое отображение для свойства...

Map(x => x.CalculatedAmount)
      .ReadOnly();

И исключение это уступает...

Не удалось найти метод set для свойства 'CalculatedAmount' в классе 'xxx. CalculationInfo'

8
задан Brandon Linton 23 June 2010 в 14:20
поделиться

2 ответа

Похоже, это вычисленное значение. Если вы можете рассчитать это значение в любой момент времени, зачем вообще его хранить?

0
ответ дан 5 December 2019 в 21:16
поделиться

Я не использую Fluent, но в отображении постоянное свойство без сеттера сопоставляется с access = "readonly" , поэтому ищите что-нибудь вроде .Readonly ()

(Readonly - из модели с точки зрения ; значение записывается в БД и используется в грязных проверках)

2
ответ дан 5 December 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: