我在使用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