2015-10-20 528 views
0

RavenDB會話管理,我試圖用一個嵌入式RavenDB數據庫寫在C#和WPF(使用MVVM)小的桌面應用程序。現在我在問自己如何正確處理會話。我在應用程序的開始加載一些項目,可能會在某個時間更新。桌面應用程序

什麼來處理,最好的方法是什麼?
我因子評分或至今讀出的解決方案是:

  • 使用一個會話的應用程序的整個生命週期 - 我還沒有讀到的那一個,所以我不認爲它應該是首選的解決方案
  • 打開一個對象已經改變之後,會話,再次從服務器加載對象,使用像ValueInjector庫覆蓋從本地對象的所有值,並保存這些更改 - 似乎更像是一個黑客修復
  • 保存的eTag每個對象,並用它與存儲方法來代替數據庫的完整的對象 - 似乎並不像一個很好的解決辦法

因此,這些可能性都不是很好,不幸的是,所有樣本中有90%似乎只適用於MVC控制器。
有沒有辦法從舊的重新連接的對象,關閉session?或者有沒有其他推薦的方法來實現我想要的?

回答

0

這篇文章談到NHibernate的,但幾乎所有的它適用於RavenDB會話管理爲好。

http://msdn.microsoft.com/en-us/magazine/ee819139.aspx

+0

感謝您的文章,它有一些很不錯的相關信息,不過,有沒有什麼辦法其他不僅僅是重新加載更改的項目的變化作出後? – Tobi