如何为IQueryable设置最大行数

时间:2013-08-27 14:47:30

标签: breeze

我在Breeze文档中缺少两个主题,安全性以及如何为返回的数据设置限制。

我不希望有人删除数据库中的所有内容,也不想退回所有内容。

我应该使用OData吗?与Odata我可以设置我想要的限制。

1 个答案:

答案 0 :(得分:0)

“安全”是一个巨大的,庞大的话题,关于这个话题永远不足以说明。我希望能够消除它。

至于限制最大记录,我会使用[Queryable]属性的PageSize选项。 [BreezeQueryable]属性继承此选项,因此您可以编写Web API控制器方法或支持存储库方法,如下所示:

[HttpGet]
[BreezeQueryable(PageSize=100)] // returns a maximum of 100 orders
public IQueryable Orders() {
   return ContextProvider.Context.Orders;
}

您也可以通过在方法内添加top来限制结果。

[HttpGet]
public IQueryable Orders() {
   return ContextProvider.Context.Orders.take(100);
}

但是,某些查询条件可能无法通过。先试试吧。