BreezeJS自定义SaveResult包含其他已删除的实体

时间:2014-07-21 10:33:45

标签: breeze

我们正在解析服务器上的SaveBundle并返回自定义SaveResult。我们希望能够在处理SaveBundle时将其他更改的实体通知客户端。

例如,我们从客户端有一个SaveBundle,其中包含1个要删除的实体,当我们在服务器上解析和处理时,我们实际上删除了2个实体。

据我们所知,SaveResult不包含任何允许我们指示实体被“删除”的属性,而不是说“已修改”。

有没有办法通过SaveResult返回其他实体更改?或者是保存更改后通过重新提交Breeze查询客户端来刷新数据的唯一解决方案吗?

2 个答案:

答案 0 :(得分:0)

我认为'如果你在SaveResult中将其外键设置为null或空(在非可空guid等情况下)返回已删除的实体,则Breeze客户端将检测到此并将其标记为删除

虽然

我在文档或来源中没有明确找到任何内容

答案 1 :(得分:0)

这是你的答案:

var result = context.SaveChanges(saveBundle);

//create your own EntityInfo object and fill it with the the entity and it's state
var entityInfo = new EntityInfo();
//...

//add it to the result
result.Entities.Add(entityInfo);

//return the result
return result;

然后,Breeze客户端会将该实体视为从您正常保存proc中返回的任何其他实体。

希望这有帮助