如何解决Dynamics CRM 一次最多只能查询5000条数据的问题
最近有好多小伙伴问如何能解决一次查询最多只能查询5000条数据的问题,
其实最简单粗暴的方法就是更新CRM Config DB中的Column Name为TotalRecordCountLimit的个数限制。
但其实通常情况下,我不会推荐这种做法,因为我是本着尽量不手动更新Database中配置相关内容的原则,尤其是微软的。至于原因嘛,你懂滴~~
那咱们应该如何通过正路子解决这个问题呢?
可以通过OrganizationServiceContext来解决!
比如,我举个栗子:我想要从logicalname为record的Entity从取出name最大的那条数据,name的格式为(prefix-12345),则咱们可以这样写:
using(var context = new OrganizationServiceContext(OrganizationService)) { var j = context.CreateQuery("record").Max<Entity>((Entity entity) => { var key = entity.GetAttributeValue<string>("name"); var intValue = int.Parse(key.Split('-').Last()); return intValue; }); }
至于Linq的更多使用方法就自行发挥吧。
其实这东西通过反编译之后,咱们可以看到,

内部其实就是分页将所有数据查回来的,只是封装到了SDK内部,这样就跳出了TotalRecordCountLimit。

浙公网安备 33010602011771号