Retrive more than 5k Records through C# Console
In this post I will tell the best way to retrive more than 5k records through C# Console. Here I am utilizing question articulation and paging treat. In Microsoft CRM we have a few constraints is accessible so we couldn't retrive more records at a solitary snap. At that point we need to beat that difficult we use paging treat in question articulation.
Snap here to see to retrive more than 5K records utilizing : javascript
Retrive more than 5k Records through Console
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Crm.Sdk.Messages;
using System.Net;
using System.ServiceModel.Description;
using Microsoft.Xrm.Sdk.Query;
namespace connectiontocrm
{
class CRM
{
static void Main(string[] args)
{
IOrganizationService organizationService = null;
try
{
ClientCredentials clientCredentials = new ClientCredentials();
clientCredentials.UserName.UserName = "mohanreddy@1234lev.onmicrosoft.com";
clientCredentials.UserName.Password = "Levtech@123";
//clientcrentials
// For Dynamics 365 Customer Engagement V9.X, set Security Protocol as TLS12
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// Get the URL from CRM, Navigate to Settings -> Customizations -> Developer Resources
// Copy and Paste Organization Service Endpoint Address URL
OrganizationServiceProxy serviceproxy = new OrganizationServiceProxy(new Uri("https://1234lev.api.crm.dynamics.com/XRMServices/2011/Organization.svc"),
null, clientCredentials, null);
IOrganizationService service;
service = (IOrganizationService)serviceproxy;
QueryExpression query = new QueryExpression()
{
EntityName = "new_offeritem",
// ColumnSet = new ColumnSet() { Columns = { "new_muhammedmacintyre" } },
ColumnSet = new ColumnSet(false),
//Criteria=FIlter
};
//ParentQuery.Criteria.AddFilter(FIlter);
query.PageInfo = new PagingInfo();
query.PageInfo.Count = 5000;
query.PageInfo.PageNumber = 1;
query.PageInfo.ReturnTotalRecordCount = true;
EntityCollection entityCollection = service.RetrieveMultiple(query);
EntityCollection final = new EntityCollection();
foreach (Entity i in entityCollection.Entities)
{
final.Entities.Add(i);
}
do
{
query.PageInfo.PageNumber += 1;
query.PageInfo.PagingCookie = entityCollection.PagingCookie;
entityCollection = service.RetrieveMultiple(query);
foreach (Entity i in entityCollection.Entities)
final.Entities.Add(i);
}
while (entityCollection.MoreRecords);
int count = final.Entities.Count;
// SampleData.Attributes["new_totalrecords"] = Convert.ToInt32(count);
//Service.Update(SampleData);
Console.WriteLine("totalcount :" + count);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught - " + ex.Message);
}
Console.ReadKey();
}
}
}
0 Comments