Я думаю, что ваша проблема здесь QueryExpression query = new QueryExpression("product");
Ваш вопрос говорит о том, что Product
- это пользовательская сущность, но вы использовали имя схемы системной сущности Product
, которая не разрешает действия.
Вы должны использовать логическое (все строчные) имя вашей сущности
Вы также можете сгенерировать этот код, используя XrmToolbox . Вот пример запроса, который я создал с помощью этого инструмента. Пожалуйста, обратите внимание:
- Я использовал
Contact
вместо Product
- Я удалил тип соединения, поэтому он возвращается к внутреннему соединению
Код:
// Initialise
var QEcontact = new QueryExpression("contact");
// Add columns to QEcontact.ColumnSet
QEcontact.ColumnSet.AddColumns("firstname");
// Add link-entity QEcontact_phonecall
var QEcontact_phonecall = QEcontact.AddLink("phonecall", "contactid", "regardingobjectid");
// Define filter QEcontact_phonecall.LinkCriteria
QEcontact_phonecall.LinkCriteria.AddCondition("category", ConditionOperator.Equal, "fun");
QEcontact_phonecall.LinkCriteria.AddCondition("statuscode", ConditionOperator.NotEqual, 1);