0

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 を使用して行われた変更を別のセッションに取得する方法は?

4

1 に答える 1