2016-04-27 10 views
1

私は機器からのビジネスユニットIDを照会しようとしていますが、私はエラーのMicrosoft Dynamics CRM 2016年、ビジネスユニットIDのエラー

QueryExpression qe = new QueryExpression(); 
qe.EntityName = "equipment"; 
qe.ColumnSet = new ColumnSet(); 
qe.ColumnSet.AddColumns("equipmentid", "name", "businessunitid"); 
qe.Criteria.AddCondition("name", ConditionOperator.Equal,EquipmentDropdown.Text); 
EntityCollection resultequipments = _orgService.RetrieveMultiple(qe); 
if(resultequipments.Entities.Count > 0) 
{ 
    Equipmentid = (Guid)resultequipments.Entities[0]["equipmentid"]; 
    Buid = (Guid)resultequipments.Entities[0]["businessunitid"]; // error at this line 
} 

事前に 感謝を助けてくださいいくつかのいずれかを取得しています

+0

あなたの最後が、このような1行を変更します。 'BUID =((実体参照)resultequipments.Entitiesを[0] [ "businessunitid"])同上;' –

答えて

1

を読むためにループを作る、あなたはbusinessunitid属性が実体参照、ないのGUIDであることがわかります。このください:

var entityRef = (EntityReference)resultequipments.Entities[0]["businessunitid"]; 
var Buid = entityRef.Id; 
0

あなたがしなければなりませんあなたのコードをデバッグする場合entityCollection

 ConditionExpression condition = new ConditionExpression(); 
     condition.AttributeName = "name"; 
     condition.Operator = ConditionOperator.NotNull; 
     condition.Values.Add(EquipmentDropdown.Text); 

     ColumnSet columns = new ColumnSet("equipmentid", "name", "businessunitid"); 

     QueryExpression qe = new QueryExpression(); 
     qe.EntityName = "equipment"; 
     qe.ColumnSet = columns; 

     EntityCollection resultequipments = _serviceProxy.RetrieveMultiple(qe); 
     foreach(Entity r in resultequipments.Entities) 
     { 
       Console.WriteLine(r.Attributes["equipmentid"]); 
       Console.WriteLine(r.Attributes["businessunitid"]); // error at this line 
     } 
       } 
      } 
+0

ませんそのまだ投げエラー「無効なと言って値のセクションには "Microsoft.SDK"があるため、例外をキャストします。ある種の...オブジェクトは型キャストできません。 –

関連する問題