Business Connectivity Services(BCS)を使用したSQL Azureとの連携
Visual Studio 2010によるSharePoint 2010開発の基本(5)
ダウンロード サンプルファイル (51.4 KB)
[7]LINQ to SQLクラスを追加する
SQL Azureへのアクセスを容易にするために、LINQ to SQLクラスを追加します。
通常のLINQ to SQLクラスの追加と同じなので、細かな手順は省かせていただきます。SQL Azureに接続する際の注意点として、[接続の追加]ダイアログボックスで、[サーバー名]にはSQL Azureのサーバーを入力し、SQL Server認証を使用してSQL Azureのユーザー名とパスワードを入力してください。データベースには、事前に作成しておいた[SampleDB]を指定します(図18)。
[8]ItemEntityService.csのコードを修正する
モデルのメソッド定義とマッピングされているItemEntityService.csを、リスト4のように修正します。
public class ItemEntityService
{
// (1)接続文字列の設定【変更が必要】
private const string connectionString = "Server=tcp:<サーバー名>.database.windows.net,1433;Database=SampleDB;User ID=<ユーザー名>@<サーバー名>;Password=<パスワード>;Trusted_Connection=False;Encrypt=True;";
public static ItemEntity ReadItem(int id)
{
using (var db = new DataClasses1DataContext(connectionString))
{
// (2)取得したItemデータからItemEntityを作成
var entity = (from i in db.Items
where i.ItemID == id
select new ItemEntity
{
ItemID = i.ItemID,
ItemName = i.ItemName,
Price = i.Price,
Description = i.Description
}).Single();
return entity;
};
}
public static IEnumerable<ItemEntity> ReadList()
{
using (var db = new DataClasses1DataContext(connectionString))
{
List<ItemEntity> entityList = new List<ItemEntity>();
// (3)ItemEntityリストにデータを追加
var items = from i in db.Items select i;
foreach (var i in items)
{
entityList.Add(new ItemEntity
{
ItemID = i.ItemID,
ItemName = i.ItemName,
Price = i.Price,
Description = i.Description
});
}
return entityList;
};
}
}
(1)では、SQL Azureの接続文字列を設定しています。接続文字列は、Windows Azure開発者ポータル上で表示できますので、コピーして使用できます。
(2)では、LINQを使用してSQL Azure上のItemsテーブルから1件のデータを取得し、ItemEntityクラスを作成しています。
(3)では、LINQを使用してSQL Azure上のItemsテーブルから全件データを取得し、作成したItemEntityのリストに追加しています。
段階2までのサンプル実行
それでは、SharePoint上でSQL Azureのデータを表示できるかどうかを確認してみましょう。
作成した外部コンテンツタイプを配置し、SharePointサイトを起動します。外部コンテンツタイプのモデルのエンティティ名をEntity1からItemEntityに変更しましたので、外部リストを改めて作成し直す必要があります。新たに作成する外部リストの[外部コンテンツタイプの種類]には、[BdcModelProjectSample.BdcModel1.ItemEntity(BdcModel1)]を指定します。
作成した外部リストを表示すると、SQL Azure上のItemsテーブルに登録しておいたデータの一覧が正しく表示されていることが分かります(図19)。
さらに、データの個別表示も行えます(図20)。
実装したReadListメソッドやReadItemメソッドが正しく動作していることが確認できましたので、SharePointサイトを終了します。
この記事は参考になりましたか?
- Visual Studio 2010によるSharePoint 2010開発の基本連載記事一覧
-
- サンドボックスソリューション開発とSharePoint Onlineへの展開
- SharePoint 2010とSilverlightの連携
- Business Connectivity Services(BCS)を使用したSQL A...
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 広瀬 嘉久(株式会社ジェイテックジャパン)(ヒロセ ヨシヒサ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア


