我在使用UnitOfWork提交某些数据库更改后刷新XPCollection中的数据时遇到问题。DevExpress XPO 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()
的方法都没有work.The更改不会反映在原始XPCollection中。
它们仅在我从一个全新的会话开始时才可见。显然,这是一个很大的性能问题。
如何获取使用UnitOfWork进行的更改到另一个会话?
每次创建一个新会话对我来说都不合逻辑。没有办法强制从数据源刷新现有的XPCollection/Session吗? – SharpAffair 2013-04-09 14:42:16
您不需要从数据源刷新。哦,我明白了,你正在使用错误的提交。将其更改为'uow.CommitChanges()'。 – shamp00 2013-04-09 15:00:26
'CommitTransaction()'用于[transactions](http://documentation.devexpress.com/#XPO/CustomDocument2111)。 – shamp00 2013-04-09 15:01:17