0

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

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

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

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

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

服务器不应该包含返回的有效负载中包含的某些实体被删除的信息吗?这将允许客户端将实体解析为已删除,即使它在调用 saveChanges 时未标记为已删除。

4

1 回答 1

1

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

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

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

于 2013-05-20T18:21:15.113 回答