2013-05-08 57 views
1

我正在构建一个SPA,并且正在使用BreezeJS进行数据管理。现在我希望能够在我的模型类上设置不存在于数据库中的处理过的数据并将其发送到客户端。问题是微风也忽略了这些属性。Breeze在数据库中“忽略”d获取数据

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

我还没有证实这一点,但我认为如果你确定数据是从服务器返回的,那么你可以添加具有正确名称的“未映射”属性给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。