使用 UnitOfWork 提交一些数据库更改后,我在 XPCollection 中刷新数据时遇到问题。
我有一个带有 XPCollection 的 WinForm。
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 对另一个会话进行更改?