0

我有以下模型:

产品(DbSet<产品>)
ProductHasWidgets (DbSet<ProductHasWidget> 多对多 w/payload)
小部件 (DbSet<Widget>)

我在多对多表中和/或从多对多表中进行查询时遇到了两个问题:

我如何编写一个轻而易举的查询来返回所有产品,其中:

  1. Widget.IsActive == true
  2. ProductHasWidgets.WidgetId == 1
4

2 回答 2

1

您还不能从 Breeze 客户端执行此操作,因为 Breeze 目前不支持该any关键字。

您可以编写一个服务方法来在服务器上进行查询。客户端可以使用 BreezeJSwithParameters查询动词将查询参数传递给该方法。

于 2013-06-04T02:18:19.153 回答
0

从 Breeze 1.4.6 开始,Breeze 现在支持“任何”和“所有”查询。请参阅:http ://www.breezejs.com/documentation/query-examples

根据您的模型,这意味着您的查询将类似于:

var predicate = breeze.Predicate.create("WidgetId", "==" 1)
  .and("Widget.IsActive", "==", true);
var query = EntityQuery.from("Products")
    .where("ProductHasWidgets", "any", predicate);
于 2013-11-26T19:39:38.243 回答