У меня возникла проблема с обновлением данных в XPCollection после внесения некоторых изменений в базу данных с помощью UnitOfWork.
У меня есть WinForm с XPCollection.
XPCollection использует XpoDefault.Session.
Я делаю некоторые изменения через UnitOfWork:
using (UnitOfWork uow = new UnitOfWork())
{
var photos = new XPCollection<Photo>(uow);
photos[0].Date = DateTime.Now;
uow.CommitTransaction();
}
Чтобы получить исходную XPCollection для обновления изменений, я пробовал следующее:
foreach (Photo photo in myXPCollection)
{
XpoDefault.Session.Reload(photo);
}
foreach (Photo photo in myXPCollection)
{
photo.Reload();
}
myXPCollection.Reload()
Ни один из методов не работает. Изменения не отражаются в исходной XPCollection.
Они видны только тогда, когда я начинаю с совершенно новой сессии. Очевидно, что это большая проблема с производительностью.
Как перенести изменения, сделанные с помощью UnitOfWork, в другую сессию?