映射需要来自相关表的数据的实体时出错

时间:2014-06-27 09:14:25

标签: breeze

我在Breeze中进行简单的投影查询:

        var p1 = new Predicate('ID', 'eq', articleID);
        var p2 = new Predicate('isDeleted', '!=', true);
        var p3 = new Predicate('isAutoSave', '!=', true);
        var query = EntityQuery.from(entityNames.article)
            .where(p1.and(p2.and(p3)))
            .select('Code, Description, ImageFileName, Notes, SupplierDistance')

然后我使用实体映射器创建一个部分实体,放入一个observable以返回函数。一切都很好。

然后我意识到我需要一个相关表格中的国家名称,所以我首先尝试了#34; .expand"并被告知Breeze无法做到"扩展"和"选择"同时。没问题,会直接选择相关记录:

            .select('Code, Description, Country.CountryName, ImageFileName, Notes, SupplierDistance')

但是因为没有" Country_CountryName"在我创建部分的实体上的属性,映射失败(不出所料)与" undefined不是函数"错误。我怎么能以这种方式包含相关表中的countryName字段,我无法映射实体?

我尝试将查询返回的javascript对象填充到我的observable中,但是失败并且"对象不是函数"这个错误也没有用。

1 个答案:

答案 0 :(得分:0)

我决定实体映射最后是不必要的,并且还原为一个简单的投影查询,我手动处理"展开"。