Я пытался запустить этот запрос в CRM 2011:
var activity = (from a in crmService.ActivityPointerSet
where a.StateCode == ActivityPointerState.Open &&
a.ActivityTypeCode == "4201"
select a).First();
Но я получил эту ошибку:
Microsoft.Crm.Metadata.EntityMetadataNotFoundException: The entity with a name = '4201' was not found in the MetadataCache
После проверки в представлении базы данных FilteredActivityPointer я заметил, что этот столбец определен как int, а не как строка. Я вручную отредактировал сгенерированный класс, изменив в свойстве строку на int, и она работала просто отлично.
Есть ли ошибка в генераторе раннего связанного типа (CrmSvcUtil.exe) или я каким-то образом создал его неправильно?
РЕДАКТИРОВАТЬ: После еще одного тестирования, похоже, что ActivityTypeCode ожидает строку "назначение". Не знаю, почему он показывает по-другому в базе данных, хотя ...