Как создать CRM SDK QueryExpression, где значения двух столбцов объединены с новым? В MySQL, мой запрос будет выглядеть так:C# CRM SDK Пользовательские столбцы
SELECT *, (`latest_maintenance`+`maintenance_interval`) as `next_maintenance` FROM `servers` ORDER BY `next_maintenance` DESC
В C#, однако, мне удалось только сделать следующее:
var retrieveRequest = new RetrieveMultipleRequest();
retrieveRequest.Query = new QueryExpression
{
EntityName = "server",
ColumnSet = new ColumnSet(new[] {"latest_maintenance", "maintenance_interval"})
};
var crmReponse = (RetrieveMultipleResponse) service.Execute(retrieveRequest);
Как бы я присоединиться к "latest_maintenance" и "maintenance_interval" в «next_maintenace», чтобы иметь возможность использовать OrderExpression
?
EDIT: Как я могу сделать простой строковый запрос для Microsoft Dynamics CRM? Кажется, это проще и понятнее, чем их по умолчанию.
Нет, это не будет правильно сортировать элементы там, где техническое обслуживание было сделано не так давно, интервал обслуживания настолько низок, что их нужно поддерживать раньше, чем некоторые из тех, которые поддерживались более давно , – arik
ОК. Теперь я понимаю - ваш оригинальный вопрос сказал, что вы «присоединяетесь» к двум полям (подразумеваемая конкатенация). Кажется, вы подразумеваете, что вы добавляете интервал дат к дате и хотите сортировать по недавно рассчитанной дате. В этом случае вашим самым легким поддерживаемым решением является создание нового атрибута под названием «следующее обслуживание» на «серверной» сущности и вычисление его значения во время выполнения через плагин при каждом изменении параметров latest_maintenance или maintenance_interval. –
Хорошо, как бы я это сделал? Мне нужно, чтобы следующее обслуживание было рассчитано автоматически, я знаю, как добавить поле;) – arik