在服务器上删除的实体将在客户端上保持不变。默认的breeze WebApi配置

时间:2013-05-20 14:37:31

标签: breeze

我遇到了在服务器上删除了实体的问题,该问题未在客户端上修改。

从v 1.3.3开始,现在可以在服务器上覆盖BeforeSaveEntities()时修改已更改实体的映射。如果我像这样标记要删除的实体

saveMap.Add(someEntity.GetType(), new List<EntityInfo>() { CreateEntityInfo(someEntity, EntityState.Deleted) });

someEntity将从db中删除,但由于在客户端它在调用saveChanges时没有改变,因此在saveChanges完成后它将保持不变。

当您查看来自服务器的saveChanges返回的有效负载时,很明显,该客户端不知道someEntity已被删除。

服务器是否应该包含已删除返回的有效内容中包含的某个实体的信息?这将允许客户端将实体解析为已删除,即使在saveChanges为时未将其标记为已删除调用。

1 个答案:

答案 0 :(得分:1)

这是一个很好的观点,我会尝试在下一个版本中查看它。

这是一种不寻常的情况,因为通常客户端告诉服务器有关删除的信息,因此我们不需要将有关删除的任何信息发送回客户端。但是,在这种情况下,您将删除服务器上未在客户端上删除的实体。

但是......我同意,我们应该支持这样做的能力。