LINQPad 4 用 Dynamics CRM ドライバーが公開されました!

みなさん、こんにちは。

今日は先日公開された、LINQPad 4 用 Dynamics CRM ドライバーを紹介します。

LINQPad Driver for Dynamics CRM
https://crmlinqpad.codeplex.com/

LINQPad とは

LINQPad (https://www.linqpad.net/) は LINQ クエリを様々なデータソースに対して
実行できる、開発者向けのツールです。また、LINQ クエリだけでなく C#/F#/VB
ステートメントやコードブロックを実行する機能持っています。一部の機能は
無償で提供されていますが、IntelliSense やデバッグ機能は有償となっています。

Dynamics CRM ドライバーの利用

LINQPad 4 用 Dynamics CRM ドライバーを使うと LINQPad のデータソースとして
Dynamics CRM が指定できます。早速試してみましょう。

ドライバーのインストール

1. LINQPad がインストールされていない場合、https://www.linqpad.net/ よりダウン
ロードしてインストールしてください。

2. https://crmlinqpad.codeplex.com へブラウザで接続して、download ボタンより
CRMLinqPadDriver.lpx ファイルをダウンロードします。

3. LINQPad を開いて、画面左上の Add connection リンクをクリックします。

image

4. 開いた画面で View more drivers… ボタンをクリックします。

image

5. 次の画面で Browse ボタンをクリックします。

6. ダウンロードした CRMLinqPadDriver.lpx を選択して “Open” をクリックします。

image

ドライバーの利用

1. データコンテキストの選択画面で Dynamics CRM Linq Pad Driver を選択して
Next をクリックします。

image

2. Login to CRM ボタンをクリックします。

image

3. 任意の組織にログインします。

image

4. 組織にログイン後、メタデータの取得が始まります。終わるまでしばらく待ちます。

image

5. Loading Data… の表示が消えたら、Exit ボタンをクリックします。LINQPad が
スキーマを作成するので、またしばらく待ちます。完了すると以下の画面の様に
スキーマ一覧が表示されます。

image

LINQ クエリの実行

1. まずクエリウィンドウ右上にある Connection タブから、作成した接続を
選択します。複数の接続がある場合は適切なものを選択してください。

image

2. 以下のように LINQ クエリを入力します。

image

3. “Play” ボタンをクリックするか F5 キーを押下して実行します。

4. 結果の右側にある SQL タブを選択すると、実行した LINQ クエリに相当する
QueryExpression と FetchXML が表示されます。

image

image

C# ステートメントの実行

LINQ クエリに続いて、C# ステートメントも試してみましょう。

1. クエリウィンドウ上部の [+] タブをクリックして、新しいクエリウィンドウを
開きます。

2. Connection より適切な接続を選択します。

image

3. Language のドロップダウンより C# Statement(s) を選択します。

image

4. ここでは例として WhoAmI を実行してみます。以下の C# ステートメントを
入力して実行します。

image

上記ステートメントの “this” は、接続のデータコンテキストとなります。今回の
ドライバーではデータコンテキストとして CrmOrganizationServiceContext を継承
したクラスを作っているため、組織サービスが持つメソッドをすべて利用できます。

IntelliSense

前述したとおり、有償版を利用することで以下のような IntelliSense が使えます。

image

今後の予定

今回提供されるドライバーはオープンソースとして提供されているため、必要に
応じて自分で書き換えることもできますが、是非フィードバックも送ってください。
フィードバックは日本語でも英語でも結構です。

- 中村 憲一郎