将Breeze JObject反序列化为EntityInfo而不保存更改

时间:2014-12-06 07:14:14

标签: breeze

我有一个接受JObject的breeze控制器,是否有一种简单的方法可以将JObject反序列化为强类型源EntityInfo对象,而无需经过保存更改/保存更改之前。我只想获得JObject有效负载所指的对象。 谢谢你的帮助。

我最终使用了相关问题中概述的方法。 Uninitialised JsonSerializer in Breeze SaveBundleToSaveMap sample

2 个答案:

答案 0 :(得分:1)

选项1

看一下Breeze.ContextProvider类的CreateEntityInfoFromJson方法中的代码。它是受保护的 - 内部的,因此您需要复制代码或使用反射调用它。 使用风险自负


选项2

breeze savechanges代码使用一个名为SaveWorkState的公共类,它使用两个参数构建:ContextProviderJArray。了解对此的期望是什么 JArray,看看"实体"在保存更改期间发送到服务器的JSON中的属性。

构建SaveWorkState后,您可以通过EntityInfo属性访问EntityInfoGroups个对象。


之前从未尝试过任何一个选项,通过查看breeze.server.net代码找到了这些选项。

答案 1 :(得分:0)

是的,这是可能的......而且也很容易。我非常详细地回答了您提到的相关SO问题Uninitialised JsonSerializer in Breeze SaveBundleToSaveMap sample