у меня есть x , который является объектом типа objectX , который имеет свойство ListOfObjectYs , что
List<objectY>
выглядит как отображение nhibernateкак это:
public ObjectXMap()
{
HasMany(x => x.ListOfObjectYs).AsBag().Inverse();
}
когда я иду сохранить его, я изменяю некоторые свойства на objectX и затем получаю:
Session.SaveOrUpdate(x);
теперь мне нужно обновить этосвойство, которое является списком.Я получаю новый список объектов Y и хочу заменить существующий список объектов Y новым списком.мне нужно сделать это?
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();
мои вопросы:
- Нужно ли удалять все и очищать перед добавлением новых.
- Нужно ли мненужно сделать все эти инкрементные сохранения в промежутке между
. Есть ли лучший способ сделать это обновление, где мне нужно обновить объект (свойства), но также обновить свойства, которые являются списком, где есть целоеновый список (это означает, что элементы должны быть удалены и добавлены).