【问题标题】:RavenDB session.Advanced.IsLoaded with transformerRavenDB session.Advanced.IsLoaded 与转换器
【发布时间】:2017-04-01 00:25:26
【问题描述】:

我正在使用服务器和客户端构建 #30155。

假设 docId 是一个字符串,我对以下 API (https://ravendb.net/docs/article-page/3.5/csharp/client-api/session/loading-entities#load) 有点困惑:

TResult Load<TResult>(
string id,
string transformer,
Action<ILoadConfiguration> configure);

当我在会话中加载(通过调用session.Load&lt;object&gt;(docId))文档并执行上述调用时,RavenDB 为这个仅在会话中加载的文档返回 null,尽管该文档在会话中 - @ 987654324@ 返回真。

是否调用: session.Load&lt;object&gt;(docId, transformer: transformerName, configure: null) 旨在“强制”进入服务器,导致提供变压器来运行服务器端,还是一个错误?

但是,session.Load(docId) 首先检查具有 docId 的文档是否已经包含/加载到会话中,如果没有,则首先转到服务器并将其加载到会话中。

【问题讨论】:

    标签: session load ravendb transformer


    【解决方案1】:

    transformer 总是会访问服务器,因为我们必须运行 transformer 才能知道结果是什么。 相比之下,仅仅发出加载意味着我们可以检查会话缓存并直接从那里提供服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 2017-12-04
      • 2021-02-24
      • 2012-03-01
      • 1970-01-01
      相关资源
      最近更新 更多