Angular + Breeze从元数据中获取实体而不获取结果

时间:2014-08-22 13:29:10

标签: angularjs breeze

您好,我想根据从微风中检索到的元数据创建一个表单来利用验证。但是,我无法在不加载结果的情况下找到从元数据中获取特定实体的方法。

是否可以从元数据加载1个实体并将其绑定到视图?

我尝试使用var entityMetaData = manager.metadataStore.getEntityType(“Order”);,但这会引发以下异常标题

Breeze: Unable to locate a 'Type' by the name: 'Order'. Be sure to execute a query or call fetchMetadata first

所以我试图通过获取实现从rawMetadata获取实体。但由于rawmetadata没有getEntityType功能,所以这似乎不起作用。

(function() {
    'use strict';
    var controllerId = 'login';

    angular.module('app').controller(controllerId, ['$location', 'authcontext','breeze', login]);

    function login($location, authcontext, breeze) {
        var vm = this;

        var manager = null;
        var entityTypeName = "Order";
        breeze.NamingConvention.camelCase.setAsDefault();
        manager = new breeze.EntityManager('http://localhost:54078/breeze/breeze');

        manager.metadataStore.fetchMetadata('http://localhost:54078/breeze/breeze').then(function (rawMetadata) {
            vm.orderModels = rawMetadata.getEntityType(entityTypeName);  //,-- this does not work..
        });

    }
})();

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在MetadataStore.fetchMetadata承诺返回后,metadataStore具有元数据。即。

 manager.metadataStore.fetchMetadata('http://localhost:54078/breeze/breeze').then(function () {
        vm.orderModels = manager.metadataStore.getEntityType(entityTypeName);  
 });