我正在构建SPA并使用BreezeJS进行数据管理。现在,我希望能够在模型类中设置数据库中不存在的已处理数据,并将其发送到客户端。问题是微风也忽略了这些属性。
public class MyModel{
public int Id{get; set;}
public string Name{get; set;}
public string ProcessedData{get; set;}
}
...
Ignore(model=> model.ProcessedData);
我意识到Breeze使用与我的datacontext相同的元数据,但应该有一种方法来覆盖它。
被忽略的属性由控制器以json的形式发送,只需要根据需要轻松解析它。
答案 0 :(得分:1)
我还没有确认这一点,但我认为如果您确定从服务器返回数据,那么您可以将具有正确名称的“未映射”属性添加到Breeze客户端,它也将实现这些。请参阅此处的“未映射”讨论:http://www.breezejs.com/documentation/extending-entities。
或者您可以尝试这个(我实际上没有测试过这个)在元数据已经返回之后。
var dp = new breeze.DataProperty( {
nameOnServer: "ProcessedData",
dataType: "String",
isUnmapped: true
});
myEntityManager.metadataStore.getEntityType("MyModel").addProperty(dp);
然后尝试查询。
注意:在EntityType本身添加到MetadataStore之后,只能将“未映射”属性添加到EntityType。