如何在Edmunds示例中使用breeze EntityManager执行本地查询?

如何在Edmunds示例中使用breeze EntityManager执行本地查询?,breeze,Breeze,我对breeze是个新手,我想知道是否有可能对使用REST服务(如Edmunds示例中的REST服务)获取的实体运行本地查询 从远程REST服务读取实体后,是否可以使用breeze EntityManager执行本地查询 我尝试使用本地查询扩展Edmunds示例应用程序,该查询将在加载所有Make后调用: var query = breeze.EntityQuery .from("Make:#Edmunds") .where("niceName", "st

我对breeze是个新手,我想知道是否有可能对使用REST服务(如Edmunds示例中的REST服务)获取的实体运行本地查询

从远程REST服务读取实体后,是否可以使用breeze EntityManager执行本地查询

我尝试使用本地查询扩展Edmunds示例应用程序,该查询将在加载所有Make后调用:

    var query = breeze.EntityQuery
        .from("Make:#Edmunds")
        .where("niceName", "startsWith", "A")
    return manager.executeQueryLocally(query).then(returnResults);
当我执行查询时,我得到以下异常:

找不到resourceName的entityType:'Make:#Edmunds'。 考虑向查询或调用添加“eTyQual.toType”调用 要注册的MetadataStore.setEntityTypeForResourceName方法 此resourceName的entityType。“


这里出了什么问题或遗漏了什么?如何运行本地查询?

Breeze正在将您的查询.from()参数解释为一个资源,而不是一个类型。(您似乎正在尝试设置)

要让Breeze知道您试图查询哪种类型的实体,只需按照它的建议执行即可-将toType调用链接到您的查询上-

var query = breeze.EntityQuery .from("Make:#Edmunds").where("niceName", "startsWith", "A").toType('Make')
return manager.executeQueryLocally(query).then(returnResults); 
ExecuteQueryLocal(查询)同步返回结果,而不是承诺。它应该是:var results=manager.executequerylocal(查询);