2012-09-13 13 views
5

Mi sono inserito nel server e ho recuperato (si spera) il set di dati corretto. Quindi, ho cercato di elencare tutte le società con il seguente codice.Trova i nomi di tutti gli attributi in un'entità restituita da CRM Dynamics

EntityCollection result = proxy.RetrieveMultiple(expression); 
foreach (var entity in result.Entities) 
{ 
    String output = String.Empty; 
    if (entity.Attributes.Contains("account")) 
    output = entity.Attributes["account"].ToString(); 
} 

Tuttavia, sarebbe bello per eseguire un ciclo interno che passa attraverso tutti gli attributi disponibili in result.Entities. Dovrei usare entity.Attributes.Keys o c'è un metodo migliore?

risposta

8

Penso che questo dovrebbe fare il trucco.

foreach (Entity entity in result.Entities) 
{ 
    foreach (KeyValuePair<String, Object> attribute in entity.Attributes) 
    { 
     Console.WriteLine(attribute.Key + ": " + attribute.Value); 
    } 
} 
+0

OK, quindi ero sulla strada giusta. Avevo paura che la raccomandazione per le entità ottenute da Dynamics venisse gestita in un modo diverso. Ho anche apportato una piccola modifica al tuo esempio. –

0

Questo esegue l'attività utilizzando un'espressione Lambda.

EntityCollection result = proxy.RetrieveMultiple(expression); 
foreach (var entity in result.Entities) 
{ 
    var vsHeaders = entity.Attributes.Select(kvp => string.Format("{0}", kvp.Key)); 
    string sHeaders = string.Join(",", vsHeaders); 
} 
Problemi correlati