CRM Retrieve entity - Error: невозможно привести объект типа «Microsoft.Xrm.Sdk.Entity» к типу «CRMEntities.List» - PullRequest
6 голосов
/ 01 марта 2012

Я генерировал сущности из CRM следующим образом:

CrmSvcUtil.exe /url:http://<servername>/<organizationname>/XRMServices/2011/Organization.svc
    /out:<outputfilename>.cs /username:<username> /password:<password> /domain:<domainname>
    /namespace:CRMEntities /serviceContextName:XrmServiceContext

Для serviceContextName Я установил XrmServiceContext . Я хочу получить какую-то сущность из CRM, используя следующий код:

var context = new XrmServiceContext(myorgserv);
var marketingList = context.ListSet.Where(item => item.Id == new Guid("SOME GUID"));

И я получаю ошибку:

Message "Unable to cast object of type 'Microsoft.Xrm.Sdk.Entity' to type 'CRMEntities.List'."

После «добавить в наблюдение» я увидел, что каждый набор объектов в контексте имеет одно и то же сообщение. Что я пропустил?

1 Ответ

16 голосов
/ 02 марта 2012

Проблема решена.После инициализации OrganizationServiceProxy мне нужно вызвать EnableProxyTypes метод.

OrganizationServiceProxy orgserv;
ClientCredentials clientCreds = new ClientCredentials();

    clientCreds.Windows.ClientCredential.UserName = username;
    clientCreds.Windows.ClientCredential.Password = password;
    clientCreds.Windows.ClientCredential.Domain = domain;
    IServiceConfiguration<IOrganizationService> orgConfigInfo = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(orgServiceUri);

    orgserv = new OrganizationServiceProxy(orgConfigInfo, clientCreds);
    orgserv.EnableProxyTypes();

Ключевой момент: orgserv.EnableProxyTypes ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...