2011-10-26 2 views
0

Я попытался запустить этот запрос в CRM 2011:CRM 2011 ActivityPointer Исходный тип генерируется неправильно?

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), или я каким-то образом ее создал неправильно?

EDIT: после некоторого тестирования он выглядит так, как ActivityTypeCode ожидает строку «назначение». Не знаю, почему это выглядит по-разному в базе данных, хотя ...

ответ

2

Я бы предположил, что они сделали это, поскольку ObjectTypeCodes не гарантируется одинаковым для разных развертываний (если у вас их несколько).

С помощью «задачи», «встречи» или «электронной почты» (и т.д.) нет никакой двусмысленности.

Я согласен, что это немного странно!

 Смежные вопросы

  • Нет связанных вопросов^_^