Page 1 of 1

dotConnect for Zoho CRM - Using Include() on IQueryable tries to download every enitity in DB

Posted: Wed 18 Dec 2019 21:24
by bob_vidabox
Building off another forum discussion found here I have tried adding an include to return the related Contacts for an Account. However, instead of using a search it attempts to download every contact in the database. It should be searching based on Account_Name or using the Related Lists API as shown below.

GET /crm/v2/Contacts/search?criteria=(Account_Name:equals:###)&per_page=200&page=1
or
GET /crm/v2/Accounts/###/Contacts

where ### is the Id from the matching account query.


Code: Select all

using (var context = GetZohoCrmContext())
{
    var account = await context.Accounts.Include(a=>a.Contacts).SingleAsync(a => a.Website == "http://xyz.com");
    return account;
}
Requests
GET /crm/v2/settings/modules
GET /crm/v2/settings/related_lists?module=Leads
GET /crm/v2/settings/related_lists?module=Accounts
GET /crm/v2/settings/related_lists?module=Activities
GET /crm/v2/settings/related_lists?module=Calls
GET /crm/v2/settings/related_lists?module=Cases
GET /crm/v2/settings/related_lists?module=Contacts
GET /crm/v2/settings/related_lists?module=Events
GET /crm/v2/settings/related_lists?module=Invoices
GET /crm/v2/settings/related_lists?module=Products
GET /crm/v2/settings/related_lists?module=Sales_Orders
GET /crm/v2/settings/related_lists?module=Tasks
GET /crm/v2/settings/fields?module=Accounts
GET /crm/v2/settings/related_lists?module=Accounts
GET /crm/v2/settings/fields?module=Contacts
GET /crm/v2/settings/related_lists?module=Contacts
GET /crm/v2/Accounts/search?criteria=(Website:equals:http%3A%2F%2Fxyz.com)&per_page=200&page=1
GET /crm/v2/Contacts?per_page=200&page=1
GET /crm/v2/Contacts?per_page=200&page=2
GET /crm/v2/Contacts?per_page=200&page=3
GET /crm/v2/Contacts?per_page=200&page=4
GET /crm/v2/Contacts?per_page=200&page=5
...
...

version: 1.9.1034
EF provider: Devart.Data.Zoho.Entity.EF6

Re: dotConnect for Zoho CRM - Using Include() on IQueryable tries to download every enitity in DB

Posted: Wed 25 Dec 2019 18:14
by Shalex
The suggested searching based on Account_Name or using the Related Lists API uses fewer API calls when a filter applied on Accounts returns 1 or several accounts. In the case of many accounts, there will be no gain in API calls count.

Re: dotConnect for Zoho CRM - Using Include() on IQueryable tries to download every enitity in DB

Posted: Wed 25 Dec 2019 18:15
by Shalex
We will investigate the question. There is no timeframe.