我有一个oData生成的DataServiceContext,我正在成功地向它添加实体。我需要添加一整套实体,然后在一个SaveChanges中提交它们,并在最后设置Batch选项。这一切都很好,直到我在保存更改之前查询它。
大纲是:
我之前使用EF4的工作表明,如果这是一个实体上下文,一切都会好的,但因为这是一个服务上下文,我无法查询已添加但未保存到服务的实体。
是这样的吗?
答案 0 :(得分:4)
DataServiceContext基本上只是一个小帮手。对它运行任何查询将直接在服务器上运行查询,客户端将不会尝试以任何方式修复数据。由于您尚未对服务器进行更改(尚未调用SaveChanges),因此查询将不会返回新添加的实体。 如果您确实需要列出在SaveChanges之前添加的实体,则可以使用DataServiceContext.Entities集合,该集合将为上下文跟踪的所有实体返回EntityDescriptor。您可以通过查找状态已添加的那些列出添加的那些。