Are you using System Entity or custom Entity of product
I Triggered Same Query
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
#region Connect To CRM in just one lines
CrmServiceClient Crmconn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["CrmOnlineUrl"].ConnectionString);
#endregion
if (!Crmconn.IsReady)
{
Console.WriteLine("No Connection was Made.");
return;
}
QueryExpression query = new QueryExpression("product");
query.Criteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
query.ColumnSet = new ColumnSet("productid");
LinkEntity phoneCallLink = new LinkEntity("product", "phonecall", "productid", "regardingobjectid", JoinOperator.LeftOuter);
FilterExpression filter1 = new FilterExpression(LogicalOperator.And);
filter1.Conditions.Add(new ConditionExpression("statecode", ConditionOperator.NotEqual, 0));
phoneCallLink.LinkCriteria = filter1;
phoneCallLink.EntityAlias = "products";
EntityCollection AllProductsWithSpecificCallsNotOpen = new EntityCollection();
var data = Crmconn.RetrieveMultiple(query);
It worked and returned Records as well
I made two changes in query
Changed
query.Criteria.AddCondition(new ConditionExpression("productstatus", ConditionOperator.Equal, 0));
To
query.Criteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
and
Changed
query.ColumnSet = new ColumnSet("product");
To
query.ColumnSet = new ColumnSet("productid");