使用Breeze获取数据,在数据库中“忽略”d

时间:2013-05-08 08:36:37

标签: javascript json entity-framework breeze

我正在构建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的形式发送,只需要根据需要轻松解析它。

1 个答案:

答案 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。