У меня есть объект EmployeeMonth, который сохраняет расчетный бонус и очки, полученные работником. В объекте EmployeeMonth есть объект BonusMonth. Объект BonusMonth устанавливает интервалы, которые работник должен получать каждый месяц, чтобы заработать бонус (этот объект устанавливается каждый месяц и не должен изменяться).Отображение Nhibernate, каскад, инверсия, обновление, вставка?
Когда я пересчитываю бонус с уменьшением, например: 88%, я настраиваю интервалы объекта BonusMonth, а затем пересчитываю бонус. Новый бонус (результат) затем сохраняется в том же объекте EmployeeMonth.
Когда я затем сохраню новый EmployeeMonth, BonusMonth будет сохранен как-хорошо.
Как настроить сопоставление nhibernate, чтобы BonusMonth не был сохранен? Я хочу только обновить/сохранить пересчитанные значения EmployeeMonth.
Это как мое отображение выглядит следующим образом:
EmployeeMonth.cs
public class EmployeeMonth
{
public virtual Guid Id { get; private set; }
public virtual BonusMonth BonusMonth { get; set; }
public virtual Employee Employee { get; set; }
public virtual int WorkReductionPercent { get; set; }
public virtual int Points { get; set; }
public virtual decimal Bonus{ get; set; }
}
BonusMonth.cs
public class BonusMonth
{
public virtual int BasicPoints { get; set; }
public virtual int ExtraPoints { get; set; }
public virtual int MaxPoints { get; set; }
public virtual decimal BasicBonus { get; set; }
public virtual decimal ExtraBonus { get; set; }
public virtual decimal MaxBonus { get; set; }
}
EmployeeMonth.hbm.xml
<class name="EmployeeMonth">
<id name="Id">
<generator class="guid" />
</id>
<property name="WorkReductionPercent"/>
<property name="Points"/>
<property name="Bonus"/>
<many-to-one name="Employee" unique-key="EpId" column="EmployeeId" cascade="none" not-null="true" insert="true" update="false" />
<many-to-one name="BonusMonth" column="BonusMonthId" cascade="none" not-null="true" insert="true" update="false" />
</class>
BonusMonth.hbm.xml
<class name="BonusMonth">
<id name="Id">
<generator class="guid" />
</id>
<property name="BasicPoints"/>
<property name="ExtraPoints"/>
<property name="MaxPoints"/>
<property name="BasicBonus"/>
<property name="ExtraBonus"/>
<property name="MaxBonus"/>
</class>
работал! Спасибо :) – Ivan