【问题标题】:Querying from a DataServiceContext从 DataServiceContext 查询
【发布时间】:2010-09-08 00:16:06
【问题描述】:

我有一个 oData 生成的 DataServiceContext 并且我成功地向它添加了实体。我需要添加一整套实体,然后将它们提交到单个 SaveChanges 中,并在最后设置 Batch 选项。这一切都很好,直到我在保存更改之前来查询它。

大纲是:

  • 创建一个新实体
  • 将其添加到 DataServiceContext
  • 在上下文中运行查询以查找我刚刚添加的项目 - 未找到

我之前使用 EF4 的工作表明,如果这是一个实体上下文,一切都会好起来的,但因为这是一个服务上下文,我无法查询已添加但未保存到服务的实体。

是这样吗?

【问题讨论】:

    标签: odata


    【解决方案1】:

    DataServiceContext 基本上只是一个小帮手。对它运行任何查询将直接在服务器上运行查询,客户端不会尝试以任何方式修复数据。由于您的更改尚未发送到服务器(尚未调用 SaveChanges),因此查询将不会返回新添加的实体。 如果您确实需要列出在 SaveChanges 之前添加的实体,则可以使用 DataServiceContext.Entities 集合,该集合将为上下文跟踪的所有实体返回 EntityDescriptor。您可以通过查找状态为已添加的内容来列出添加的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多