即使我们在客户端导入元数据,Breeze也要求从服务器获取元数据

时间:2013-03-03 16:58:45

标签: breeze

我们正在通过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
    });
};

提前致谢。

1 个答案:

答案 0 :(得分:6)

您需要创建一个“hasServerMetadata”设置为false的DataService:

    var dataService = new DataService({
         serviceName: serviceName,
         hasServerMetadata: false
     });


     return new EntityManager({
         dataService: dataService,
         metadataStore: metadataStore
     });

希望这有帮助。