у меня есть x , объект типа objectX , у которого есть свойство ListOfObjectYs , которое является
List<objectY>
, отображение nhibernate выглядит следующим образом:
public ObjectXMap()
{
HasMany(x => x.ListOfObjectYs).AsBag().Inverse();
}
когда я иду, чтобы сохранить его, я изменяю некоторые свойства на objectX , а затем:
Session.SaveOrUpdate(x);
теперь мне нужно обновить это свойство, которое является списком. Я получаю новый список objectYs и хочу заменить существующий список objectY новым списком. Мне нужно это сделать?
foreach (ObjectY y in x.ListOfObjectYs)
{
Session.Delete(y);
deleted = true;
}
if (deleted)
{
_session.Flush();
}
x.ListOfObjectYs.Clear();
foreach (ObjectY y in newObjectYList)
{
x.ListOfObjectYs.Add(y);
Session.SaveOrUpdate(y);
}
_session.Flush();
у меня следующие вопросы:
, есть ли лучший способ сделать это обновление, где мне нужно для обновления объекта (свойств), но также для обновления свойств, которые являются списком, в котором есть полностью новый список (что означает, что элементы необходимо удалить и добавить).