我们正在通过metadataStore设置breeze元数据,我们现在已经使用这种方法了好几个月。但是前几天我们意识到即使我们使用metadataStore来设置元数据,breeze也会向服务器发出请求以获取元数据 - 它没有让这个请求返回几个版本(我不确定哪个版本,但我可以追溯) 。 我编写了一个T4模板来生成稍微修改过的元数据,但是breeze不使用它,总是从服务器加载元数据并覆盖我的。
这里我们如何设置元数据;
var core = breeze.core,
entityModel = breeze.entityModel,
serviceName = 'api/Service',
metadataStore = new entityModel.MetadataStore();
metadataStore.importMetadata($.toJSON(metadata));
var createManager = function () {
return new entityModel.EntityManager({
serviceName: serviceName,
metadataStore: metadataStore
});
};
提前致谢。
答案 0 :(得分:6)
您需要创建一个“hasServerMetadata”设置为false的DataService:
var dataService = new DataService({
serviceName: serviceName,
hasServerMetadata: false
});
return new EntityManager({
dataService: dataService,
metadataStore: metadataStore
});
希望这有帮助。