Breeze.js用select扩展

时间:2013-07-26 17:40:50

标签: javascript many-to-many breeze

不支持在breeze.js中使用expand进行扩展:

breeze.EntityQuery.from("TagConnections")
                  .expand("ttQuestions").where("QuestionID", "!=", null)
                  .select("ttQuestions"); // not possible

有解决方法吗?

我可以在查询结果上获取/运行查询/选择吗?

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方法:

// client:
breeze.EntityQuery.from("Questions")
              .withParameters({ myParameter: "any addional query information" });

// server:
public IQueryable<ttQuestions> Questions(string myParameter=null)
{
    // handle parameters here
    ...
}

答案 1 :(得分:1)

首先,这不是Breeze中的缺陷或限制。 EntityFramework不支持select和expand 的组合。 Breeze可以为您提出问题,但服务器需要提供货物。在这种情况下,EF无法交付货物。

@zoidbergi - 我没有完全看到你的例子中的“解决方法”。我的猜测是你在不使用扩展的情况下执行查询。更重要的是,您修改了查询以定位Questions,这是您真正想要的,而不是TagConnections

我怀疑你错过了什么......我们中的许多人也希望拥有它......是表达“任何”条件的能力。如果可用,您可以查询与满足您的过滤条件的任何Questions相关联的TagConnections。您可以在服务器上的EF中编写此类查询。不幸的是,你还不能在BreezeJS中编写那个查询。