索德系统服务器,我应该使用BreezeJS在服务器上还是客户端上进行查询?

只是为了清除,默认情况下,Breeze中的所有查询都是在服务器上独占执行的。 (您可以查询本地查询缓存,但我不认为这是您询问的问题。)您可以控制的是要执行的查询表达式是在服务器上独占定义的还是基于在服务器以及额外的客户端限制。

如果您想在服务器上定义一个返回单个记录的查询,您当然可以这样做。这将是这个样子:

[HttpGet]

public Car Car17()

{

return _contextProvider.Context.Cars.First(c => c.CarId == 17);

}

这可以从客户端通过以下方式查询:

var q = EntityQuery.from("Car17");

另外,您可以使用查询参数:

[HttpGet]

public Car CarById(carId)

{

return _contextProvider.Context.Cars.First(c => c.CarId == carId);

}

为其查询看起来像这样:

var q = EntityQuery.from("CarById").withParameters({ carId: 17});

或者你可以做这样的事情:

[HttpGet]

public IQueryable AllCars()

{

return _contextProvider.Context.Cars;

}

为其查询应该是这样的:

var q = EntityQuery.from("AllCars").where("CarId", "==", 17);

重要的是要清楚的是,这些的所有3个执行完全在服务器上进行相同的查询并返回完全相同的结果。

希望这会有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值