2015-10-20 183 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