繁体   English   中英

轻松查询返回结果

[英]query against returned results in breeze

我想查询返回的结果,但是当我使用以下代码时,它将引发错误:

 let em = new breeze.EntityManager('api/customer'); let serverQuery = breeze.EntityQuery.from('Customer'); let localQuery = breeze.EntityQuery.from('Customer').where('Id', '==', '1'); em.executeQuery(serverQuery) .then(data => { let localData = data.entityManager.executeQueryLocally(localQuery); //error }) .catch(error => { console.log(error); }); 

我得到的错误是:

未捕获的错误:找不到resourceName:“客户”的EntityType。 考虑将“ EntityQuery.toType”调用添加到查询中,或调用MetadataStore.setEntityTypeForResourceName方法为该resourceName注册一个EntityType。

我可以看到在执行serverQuery时结果又回来了,但是它不喜欢我尝试对返回的结果进行查询。 我知道我可以通过第一次通过api调用运行localQuery来获得结果,但是我想首先从服务器中获取所有客户(可能需要进行某种程度的过滤),然后在用户输入(例如,客户名称)时过滤这些客户一个输入字段,以便用户每次在该字段中更改客户名称时,它都不会尝试从服务器获取数据。 我很可能在上面的代码中做错了什么,但是是否可以轻而易举地做到呢?

好的,我不知道这是否是最好的方法,但是这段代码似乎有效:

 let em = new breeze.EntityManager('api/customer'); let serverQuery = breeze.EntityQuery.from('Customer').toType('Customer'); em.executeQuery(serverQuery) .then(data => { let localData = data.query.where('id', '==', '1').using(em).executeLocally(); //works! }) .catch(error => { console.log(error); }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM