我可以使用LINQ从Quickbooks Online ServiceContext获取超过100条记录吗?

时间:2017-06-02 16:27:46

标签: c# linq quickbooks-online

对于我的Quickbooks Online集成,我使用的是.NET SDK,之前使用LINQ来访问来自ServiceContext的数据:

var paymentMethodsService = new QueryService<PaymentMethod>(ServiceContext);
_paymentMethods = paymentMethodsService.Select(x => x).ToList();

测试时,我们注意到这只会返回前100条记录。 (大概是因为这是默认的页面大小?)

我们可以使用包含MAXRESULTS的查询来解决这个问题:

var itemsService = new QueryService<Item>(ServiceContext);
_items = itemsService.ExecuteIdsQuery("SELECT * FROM Item MAXRESULTS 1000").ToList();

我的问题是,如果不使用查询字符串,我可以获得相同的结果吗?

1 个答案:

答案 0 :(得分:0)

我必须承认我不知道Quickbooks Online是什么,但我认为你可以使用LINQ Take(yourPageSize)覆盖默认页面大小。虽然目前尚不清楚如何以这种方式获取集合中的所有项目,但事先并未知道总计数。希望您不需要在您的场景中执行此操作(或者如果您这样做 - 如果您找不到其他方法,也许您可​​以使用Take的任意大数字。)