各製品の資料を入手。
詳細はこちら →LINQPad でRaisers Edge NXT のデータを操作する方法
LINQPad でRaisers Edge NXT にLINQ クエリを実行する方法を解説します。
最終更新日:2023-09-15
この記事で実現できるRaisers Edge NXT 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData ADO.NET Provider for RaiserEdgeNXT は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってRaisers Edge NXT の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。
必要なもの
本記事の手順を実行してLINQPad からRaisers Edge NXT に接続するには、以下の3つの製品が必要になります。
- Raisers Edge NXT の環境
- LINQPad
- CData ADO.NET Provider for RaiserEdgeNXT。右側のサイドバーから30日間無償トライアルがダウンロードできます
データモデルの作成
CData ADO.NET Provider for RaiserEdgeNXT およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。
ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。
プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。
- AuthScheme をOAuth に設定
- SubscriptionKey をお使いのSubscription Key に設定
- 認可アカウントでBlackBaud Raiser's Edge NXT を有効にし、結果を取得
希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。
- プロジェクトをビルドします。生成されたファイルを使ってLINQPad でRaisers Edge NXT 接続を作成できます。
BlackBaud Raiser's Edge NXT 接続プロパティの取得・設定方法
接続設定の前に、BlackBaud Raiser's Edge NXT Profile にあるSubscriptionKey を取得しておいてください。
BlackBaud Raiser's Edge NXT への認証(OAuth)
BlackBaud Raiser's Edge NXT は、OAuth 認証規格を使用します。すべてのフローにおいて、以下の設定が必要です。
この設定ののち、続けてOAuth 設定を行います。設定方法は、ヘルプドキュメント の「OAuth」セクションを参照してください。
一般的な接続文字列は次のとおりです。
SubscriptionKey=MySubscriptionKey;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;
LINQPad でRaisers Edge NXT のデータに接続
必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。
LINQPad を開き[接続の追加]をクリックします。
[Use a typed data context from your own assembly]オプションを選択します。
[Entity Framework DbContext]を選択します。
[Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。
- DbContext の名前を選択します。
- 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。

これでLINQPad 経由でRaisers Edge NXT にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。
