2011-10-18 15 views
2

Microsoft CRMの高度な開発者拡張機能により、CRMのWebサービスへの呼び出しに対する初期バインディングが少し損なわれています。Microsoft CRM 2011でのPreImageの早期バインド

私はプラグインを今作成しています。プレイメージで定義された属性にアクセスしたいと思います。すべての例では、プレイメージをMicrosoft.Xrm.Sdk.Entityとしてキャストします。これは、レイトバインディングを使用してその属性にアクセスします。私はプラグインに属性名のすべての文字列をハードコードすることを嫌い、早期バインディングを使用して属性名を避ける方法を探したいと思います。ここで

は、キャスト

var preMessageImage = (Microsoft.Xrm.Sdk.Entity)context.PreEntityImages["MyPreImage"]; 

の一例である。しかし、私はプロパティ

var myProperty = preMessageImate.Properties["MyProperty"]; 

にアクセスするために遅延バインディングを使用する必要がありXRMオブジェクトにこのプレイメージをキャストする方法はあります初期バインディングを使用して定義されたすべてのプロパティは、すべてのプロパティ名をハードコードする必要はありませんか?

答えて

7

SDKのcrmsvcutilツールを使用して、「初期バインド」Xrmエンティティを生成し、そのコードファイルをプラグインコードベースに組み込む必要があります。

コンテキストが生成されないように、 'DataContextName'コマンドライン引数を省略することをお勧めします。詳細については

は、MSDNにここをチェック:CrmSvcUtil on MSDN

次に、あなたは強く型付けされた特定のエンティティを取得するには、エンティティクラス上ToEntity<T>メソッドを使用する必要があります。詳細はこちら:ToEntity on MSDN

関連する問題