我们正在解析服务器上的SaveBundle
并返回自定义SaveResult
。我们希望能够在处理SaveBundle
时将其他更改的实体通知客户端。
例如,我们从客户端有一个SaveBundle
,其中包含1个要删除的实体,当我们在服务器上解析和处理时,我们实际上删除了2个实体。
据我们所知,SaveResult
不包含任何允许我们指示实体被“删除”的属性,而不是说“已修改”。
有没有办法通过SaveResult
返回其他实体更改?或者是保存更改后通过重新提交Breeze查询客户端来刷新数据的唯一解决方案吗?
答案 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中返回的任何其他实体。
希望这有帮助