LightSwitch で使えるデータソースの種類(20110729)

みなさんこんにちは。
もう、LightSwitch をお試しいただけたでしょうか?
Visual Studio Professional with MSDN 以上の MSDN Subscription をご契約の方は、LightSwitch もダウンロードしてお使いいただけますので、是非触ってみてください。

さて、前回は LightSwitch がどんなものであるかの紹介を書かせていただきました。
もうお分かりの方もいらっしゃるかと思いますが、LightSwitch はデータ ドリブンで CRUD アプリケーションを構築するツールとも言えます。
ということで、LightSwitch ではデータが非常にキモになってくるわけです。では、そのデータを永続化するためのデータソースはどのような物を使うことが出来るのか、そこが今回の内容になります。

ソリューションを作成する

まず、最初に LightSwitch のソリューションを作成すると、次のような画面が表示されます。
01

前回のように、新規でデータを設定するのであれば、「新しいテーブルの作成」を選択します。また、既存のデータソースを使う場合は「外部のデータ ソースにアタッチ」を選択します。

新しいテーブルの作成を選択する

まずは 「新しいテーブルの作成」 を選択した場合、特に何も聞かれないままにデータ ストアが作成されます。実際にはどこに作成されているのでしょうか?
生成された LightSwitch プロジェクトの App.config を確認すると下記のような記述が見つかります。

 <connectionStrings>
    <add name="LightSwitchConnectionString"
        connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=&quot;
     |DataDirectory|\Data\DevelopmentDatabase.mdf&quot;;Integrated Security=True;
        User Instance=True;MultipleActiveResultSets=True;Pooling=False;"
        providerName="System.Data.SqlClient" />
</connectionStrings>

簡単に説明すると、コンパイル後の Bin フォルダ配下にある Data フォルダに MDF ファイルが生成され、それを SQL Server Express にアタッチしています。

これが 「新しいテーブルを作成」 を選んだ場合の動きです。

外部のデータソースにアタッチを選択する

一方、「外部のデータ ソースにアタッチ」 を選択した場合はどうでしょうか?

02

このようにデータベース、SharePoint、WCF RIA サービスの 3つの データ ソースを選択することが出来ます。

データベース

まずは、データベースを選択した場合、Visual Studio ユーザーにはおなじみのこの画面が表示されます。

03

ここでデータソースの変更を選ぶと次の画面が表示されます。

ここでは、SQL Server、SQL Server Compact 4.0 が選択可能です。

04

SQL Server を選択すれば、SQL Server 2005 以降の様々なエディションの SQL Server はもちろん、 SQL Azure も利用することが出来ます。

SQL Server Compact 4.0 は今年の1月にリリースされた SQL Server の中でもファイルベースのデータベース エンジンで可搬性に優れたデータベースです。こちらも選択いただくこともできます。

SharePoint

つづいて、SharePoint です。SharePoint を選択すると次の画面が表示されます。

06

ここでサイトのURLを設定することで SharePoint のリストをデータソースとして利用することが出来ます。ただし、ここで利用できる SharePoint は SharePoint 2010 のみとなりますので、ご注意ください。

WCF RIA サービス

そして、最後が WCF RIA サービスです。WCF RIA サービスそのものについては下記のサイトを参照してください。

http://msdn.microsoft.com/ja-jp/library/ee707344.aspx

実は、この WCF RIA サービスがあるおかげで、 LightSwitch が使えるデータ ソースの種類を標準で提供されているもの以外にも大幅に増やすことが出来ます。

07

WCF RIA サービスでは Entity Framework で扱う事の出来るデータを Silverlight で利用できるサービスにすることが出来ます。Entity Fraemwork はプロバイダ形式の構造をしているため、プロバイダさえ作成すれば様々なデータソースをEntity Framework を通じで扱うようにできます。そうやって作成したEntity Framework をWCF RIA サービスとして公開することで LightSwitch のデータソースとして利用することが出来るようになります。

まとめ

ということで、LigthSwitch では標準的な機能としては SQL Server 2005以降の各エディションの SQL Server、SQL Azure、SQL Server Compact といった RDB。そして SharePoint のリストをデータソースとして利用することが出来ます。

また、WCF RIA サービスを活用することで、標準以外のデータソースも LightSwitch で扱うことが出来るようになります。