У меня есть класс "Компания", в котором есть список "Оператор"
public class Company
{
public IList<Opertator> Operators {get; set; }
public Int32 Id {get; set;}
}
public class Operator {
public Int32 Id {get; set; }
public Company Company {get; set; }
}
Когда я отобразил следующее:
public class CompanyMapping : ClassMap<Company>
{
public ProductMapping() : base()
{
Id(x => x.Id, "CompanyId").GeneratedBy.Native();
HasMany(x => x.Operators);
}
}
public class OperatorMapping : ClassMap<Operator>
{
public OperatorMapping()
{
Id(x => x.Id);
Reference(x => x.Company);
}
}
У меня есть пользовательский интерфейс, где пользователь может добавлять операторы и удалять операторы, установив флажки.
в коде c # я запрашиваю сохраненную компанию и добавляю в список или удаляю из списка.
затем отправьте SaveOrUpdate.
Моя проблема в том, что когда я добавляю еще одного оператора в существующую компанию и сохраняю / обновляю, NHibernate удаляет весь список и восстанавливает их снова.
Я не хочу этого делать.
Могу ли я сказать, что NHibernate обнаружит измененные элементы (новые элементы из списка, вставит их, определит удаленные элементы и удалит их)?
Я попытался изменить отображение для отображения в компании
HasMany(x => x.Operators).Inverse();
но в итоге ничего не удаляется.
Любая помощь?