【问题标题】:RavenDB session management for a desktop application桌面应用程序的 RavenDB 会话管理
【发布时间】:2016-01-19 14:44:53
【问题描述】:

我正在尝试将嵌入式 RavenDB 数据库用于使用 C# 和 WPF(使用 MVVM)编写的小型桌面应用程序。现在我在问自己如何以正确的方式处理会议。我在应用程序开始时加载了一些项目,这些项目可能会在某个时候更新。

最好的处理方法是什么?
到目前为止,我坚持或阅读的解决方案是:

  • 在应用程序的整个生命周期中使用单个会话 - 我还没有阅读过有关该会话的信息,因此我认为它不应该是首选解决方案
  • 在更改对象后打开会话,从服务器再次加载对象,使用 ValueInjector 之类的库覆盖本地对象中的所有值并保存这些更改 - 看起来更像是 hack 修复
  • 保存每个对象的 etag 并将其与 store 方法一起使用以替换数据库中的完整对象 - 似乎也不是一个好的解决方案

因此,这些可能性似乎都不是很好,不幸的是,所有样本中有 90% 似乎仅适用于 MVC 控制器。
有没有办法从旧的封闭会话中重新附加对象?或者有没有其他推荐的方法来实现我想要的?

【问题讨论】:

    标签: c# wpf mvvm ravendb


    【解决方案1】:

    本文讨论的是 NHibernate,但几乎所有内容也适用于 RavenDB 会话管理。

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

    【讨论】:

    • 感谢您的文章,它有一些很好的信息,但是,除了在更改后重新加载更改的项目之外,还有其他方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2011-01-14
    • 2011-02-06
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2013-03-26
    相关资源
    最近更新 更多