2012-03-01 6 views
6

ho generato entità dal CRM in questo modo:CRM Recupera entità - Errore: Impossibile eseguire il cast oggetto di tipo 'Microsoft.Xrm.Sdk.Entity' digitare 'CRMEntities.List'

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

Per serviceContextName Ho impostato XrmServiceContext. Voglio recuperare qualche entità dal CRM utilizzando il codice seguente:

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

e sto ottenendo errore:

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

Dopo 'Aggiungere alla' ho visto che ogni insieme di entità in un contesto hanno lo stesso messaggio Cosa mi sono perso?

risposta

16

Problema risolto. Dopo l'inizializzazione di OrganizationServiceProxy, devo chiamare il metodo 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(); 

cosa fondamentale è: orgserv.EnableProxyTypes();

+0

Grazie! Stavo sbattendo la testa contro il muro, funziona perfettamente! –