Partager via


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 サポート 中村 憲一郎

Comments

  • Anonymous
    February 09, 2014
    初歩的な質問で恐縮ですが、meta-metaデータを取得する方法はありますか?

  • Anonymous
    February 09, 2014
    The comment has been removed

  • Anonymous
    February 11, 2014
    言葉が足りなくて申し訳ございません。metadataのメタデータです。親概念エンティティにComponentがあって、サブタイプにentity,Form,View,Fieldがあって、entityは複数formを持てるので、1:Nのリレーションになる、と言った、製品仕様に近いものです。マニュアル見ればわかりますが、概念モデル化されているとありがたいです。

  • Anonymous
    February 11, 2014
    返信をいただき、ありがとうございました。 エンティティ間の相関図はございますが、ご要望の内容は残念ながらございませんでした。 ソリューションの画面から見ていただくのが一番簡単かと思います。 ちなみにエンティティ間の相関については以下のリンクより取得可能です。 www.microsoft.com/.../details.aspx

  • 中村 憲一郎
  • Anonymous
    February 13, 2014
    ご返信ありがとうございます。リンクありがとうございます。おっしゃるようにソリューションの画面から見るのが簡単ですね。ただ、リレーションはメタ・メタデータがあればよい設計情報になると思いました。動かしながら自分で作ってみます。ご提供いただいたエンティティのメタメタデータは大変役に立ちます。 年取ってくると、実機でやってみる気力が衰えてくるもので、どうしても概念が欲しくなります。 Dynamicsは大変素晴らしいソリューションですね。

  • Anonymous
    February 13, 2014
    The comment has been removed

  • Anonymous
    February 16, 2014
    メタ・メタデータは素直に画面項目から論理ER図とデータ定義書を作れば概要レベルは容易にできると思いますよ。 メタ・メタデータと業務のメタデータと実機を用意すれば、すごい生産性で開発できると思います。 また、メタメタデータに対して、それぞれの定義と設定をどの工程で実施するか、定義と設定の手順を決めるだけで作業標準が出来ますし、実際に設定された設定パラメータをメタデータとして差分を取っていけば、進捗管理も定量的に自動的に、把握可能にすることもできるような気がします。 今回はじめて拝見しましたが、かなりの衝撃でした。