我们正在向我们未在数据库中跟踪的服务器上的对象添加其他属性。数据返回给客户端,但是由breeze实现的对象没有将其作为属性。我们如何向我们返回微风的对象添加属性,但是不将它们映射到我们存储数据的数据库中?
示例:窗口小部件类 属性A - 映射到数据库 属性B - 具有[NotMapped]属性,以便它不存储在数据库中。它由服务器即时计算。
当我们在客户端上获取对象时,我们得到: 小部件类= { 物业A:ko.observable(A的价值) }
物业B缺失。
当我们查看服务器返回的json时,我们看到:
Widget Class = { 物业A:A的价值, 物业B:B的价值 }
答案 0 :(得分:4)
具有NotMapped属性的属性不是EFContextProvider生成的MetaData的一部分,因此这些属性在客户端breeze实体中不可用。但是在js中,您可以扩展客户端实体并自己将属性添加到entityType(设置初始值)。这将确保在从服务器检索json对象时正确设置属性的值。
答案 1 :(得分:0)
这听起来就像沃尔贝尔提到的那样 - 也许该属性具有空值,默认情况下,Breeze不会返回它。
检查添加如此处提到的自定义breeze配置类,以调整在Json中返回null值的方式。只需将此类添加到Web Api项目中,Breeze就会自动查找并配置它。