2012-09-13 18 views
5

'dan dönen bir varlıktaki tüm özniteliklerin adlarını öğrenin. Kendimi sunucuya aldım ve doğru veri kümesini aldım (umarım). Ardından, tüm şirketleri aşağıdaki kodla listelemeye çalıştım.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(); 
} 

Ancak result.Entities tüm kullanılabilir nitelikler geçer bir iç döngü çalıştırmak için iyi olurdu. entity.Attributes.Keys kullanmalı mıyım yoksa daha iyi bir yöntem mi var?

cevap

8

Bunun bir hile yapması gerektiğini düşünüyorum.

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

Tamam, bu yüzden doğru yoldaydım. Dynamics'den alınan varlıkların tavsiyesinin farklı bir şekilde ele alınmasından korkuyordum. Ayrıca, örneğinize küçük bir değişiklik yaptım. –

0

Bu Lambda ifade kullanarak görevi yürütmektedir.

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); 
} 
İlgili konular