Dynamics CRM 2011 SDK 5.0.13: メタデータのクエリ その 1

みなさん、こんにちは。

今回から開発者向けの情報として、2012年 12月サービスアップデート
および Update Rollup 12 で提供されるメタデータのクエリに関して、
数回にわたり紹介します。

実際のサンプルコードや利用方法を紹介する前に、今日は SDK チーム
の Jim からのメッセージをお届けします。※一部割愛していますので、
詳細に興味がある方は原文をどうぞ。

情報元 : New Technical Article: Query Metadata Using JavaScript

 

============================================================

現在 Jscript で開発していて、メタデータの操作が必要な方は、是非一度
以下の記事を覧ください (英語)。この記事では新しく提供されたメタデータ
を紹介しています。

Query Metadata Using JavaScript
https://msdn.microsoft.com/en-us/library/jj919080.aspx

これまでも SDK ではメタデータ操作のサンプルを提供してきました。しかし
新しいライブラリは以下の点において今までのものとは異なります。

・ 新しい Microsoft.Xrm.Sdk.Metadata.Query では、必要最小限のメタデータ
のみを取得できるより柔軟な操作をサポートします。また変更があった
ものだけを取得することもできます。詳細はこちらの記事をご覧ください。
・ 新しいライブラリではオブジェクト指向プログラミングのテクニックを利用
できるため、より容易にコーディングが可能です。

SDK チームの一員として SDK に多くのサンプルを提供してきましたが、その他
にも、new Metadata BrowserForm Query String Parameter tool を開発
してきました。しかし以前のメタデータ API はパフォーマンス観点から最適化
されておらず、不要なデータまで取得する場合ががありました。しかし今回の
Microsoft.Xrm.Sdk.Metadata.Query では QueryExpression に似た手法でクエリ
を記述することができ、効率的にデータを取得できます。

しかしこの柔軟性が新たな課題も生みます。以前のメタデータ API も、例えば
エンティティ名や属性名といったパラメーターが存在し、コーディングも単純な
ものでした。一方で新しいメタデータ API は複雑な XML で構成されています。

Query Metadata Using JavaScript の記事ではその比較をしながら、どのように
提供されたライブラリが利用可能かを解説しています。既に QueryExpression
と同様の手法でクエリができる方法も開発済みですが、現在テスト段階です。
こちらのコードは現在 SDK の一環として提供する予定はなく、またサンプルと
いうほど単純なものではありません。SDK には含まれませんが、質問等は
Query Metadata Using JavaScript 記事の最下部にあるコメントで受け付けます
ので、質問があればコメントをしてください。ただし提供するドキュメントで十分
な内容になるよう努めたいと思います。

============================================================

次回は C# を利用したサンプルを紹介します。

- Dynamics CRM サポート 中村 憲一郎