有可能做一个“;其中<;属性>;在<;设置>";使用Breeze js查询

本文关键字:gt lt quot 设置 使用 Breeze 查询 js 属性 一个 其中 | 更新日期: 2023-09-27 18:24:05

是否可以使用Breeze进行"IN"查询?

我正在使用实体框架,我有一个Order对象,它有一个UserId属性:

public class Order
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public long Id { get; set; }
    public long UserId { get; set; }
    // ... other properties
}

我有一个控制器,它将在IQueryable中返回订单:

[HttpGet]
public IQueryable<Order> Orders()
{
    return Db.Orders.OrderByDescending(o => o.Id);
}

其中"Db"是我的EF上下文。我想获得UserId属性在一组用户Id中的订单,即[1,4,78]或任何其他集合。

我不知道这是否可能,如果可能怎么办?即:

var userIds = [1,4,78];
breeze.EntityQuery
    .from("Orders")
    .using(this.manager)
    //.where("userId", "any", userIds) // this isn't right
    .execute()
    .then( 
       // ...

有可能做一个“;其中<;属性>;在<;设置>";使用Breeze js查询

尝试这样做:

    var userIds = [1, 4, 78];
    var predicate = breeze.Predicate("userId", "==", userIds[0]);
    for (var i = 1; i < userIds.length; i++) {
        var userId = userIds[i];
        predicate = predicate.or(breeze.Predicate("userId", "==", userId));
    }
    breeze.EntityQuery
        .from("Orders")
        .using(this.manager)
        .where(predicate)
        .execute();