この返信の最後の行を実行しようとすると、エラーが発生します。次のコードを実行します。
QueryExpression query = new QueryExpression
{
LogicalName = "contact",
...
}
BusinessEntityCollection response = ServiceProxy.RetrieveMultiple(query);
Logify("count: " + response.BusinessEntities.Count);
BusinessEntity piff= response.BusinessEntities.First();
Logify("piff: " + (piff != null));
DynamicEntity poof = response.BusinessEntities.First() as DynamicEntity;
Logify("poof: " + (poof != null));
カウントは 1 であるため、呼び出しは正しく実行され、何かが生成されます。ログによると、piffは null ではないため、何かが含まれています。ただし、変換 (エンティティのフィールドにアクセスするために必要) の後、nullになります(または、shabang を明示的にキャストしようとすると例外が発生します)。
例外は次のとおりです。
タイプ 'Microsoft.Crm.SdkTypeProxy.contact' のオブジェクトをタイプ 'Microsoft.Crm.Sdk.DynamicEntity' にキャストできません。
何をすべきか?!