LightSpeedのインストール

それでは、LightSpeedをインストールしていきましょう。LightSpeedは、Mindscape社のダウンロードページから入手することができます。ナイトリービルドも入手できますが、ここでは安定版である2.1をダウンロードします。インストーラの「LightSpeedExpress.msi」をクリックして、Nextをクリックしていけばインストールが完了します。

インストールが完了すると、スタートメニューにサンプル等のリンクが表示されます。これらのサンプルは、既定でSQLiteを使用しています。プロジェクト内に含まれているdb3という拡張子がSQLiteのデータベースファイルです。SQLiteのデータの中身を見たい場合は、別途SQLite Database Browserなどをインストールしてください。他のRDBMS(SQL Server等)に切り替えるには、インストールフォルダのスクリプト(C:\Program Files\Mindscape\LightSpeed 2.1\Samples\Scripts)を使うことができます。

テンプレートの設定

残念ながら日本語版のVisual Studioでは、LightSpeed Modelのテンプレートが表示されない問題がありますので「C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Data\1033(C#の場合)」のLightSpeedModel.zipをコピーして「(同フォルダの)CSharp\Data\1041」にペーストしてください。そして、「Visual Studio 2008 コマンド プロンプト」を管理者権限で起動して、「devenv /InstallVSTemplates」と入力してください。

プロジェクトの作成

早速、モデルを作っていきましょう。まず、新しいクラスライブラリプロジェクトを作成し「Ls.Domain」という名前をつけます。

モデルの作成

プロジェクトの右クリックメニューから[追加]-[新しい項目]を選択します。表示されたウィンドウで[LightSpeed Model]を選択して、ファイル名を「Ls.lsmodel」に変更します。追加ボタンを押すと、拡張子がlsmodelのモデルファイルが作成され、LightSpeedに必要なDLLが参照設定されます。

新しい項目の追加からLightSpeedのモデルを追加する

モデルファイルをダブルクリックすると、デザイナーが自動的に開きます。サーバーエクスプローラのテーブル定義からモデルを生成することもできますが、ここでは、モデルを先に作って後からデータベースに反映させていきます。

モデル全体の設定

モデル全体の設定をプロパティウィンドウで行います。ここではデータベースの設定を行います。SQL Serverを利用する場合は、[DataBase Provider]に「SqlServer2005」、[ConnectionStrings]に「Data Source=.\SQLEXPRESS;Initial Catalog=LsDemo;Integrated Security=True」のように設定します(接続文字列は環境に応じて変更してください)。

このウィンドウでは、生成コードの名前空間なども設定できますが、とりあえずデフォルトのままで問題ありません。

ツールボックスからエンティティを追加

モデリングを行うには、ツールボックスのEntity(エンティティ)をデザイナーの領域にドラッグ&ドロップします。

ツールボックスには、以下の6種類のアイテムが表示されます

ツールボックスのモデリング用アイテム

名前 種類 説明
Entity モデル エンティティ。アイデンティティ(一意のID)で識別されるオブジェクト。LightSpeedではEntityというクラスを基本クラスとしてコード生成され、データベースに保存可能
ValueObject モデル 値オブジェクト。一意に識別されないオブジェクト。LightSpeedでは基本クラスを持たないPOCOとしてコード生成される
OneToManyAssociation 関連 エンティティ間の関係を1対多に設定
OneToOneAssociation 関連 エンティティ間の関係を1対1に設定
InheritanceAssociation 関連 エンティティ間に継承関係を設定
ValueObjectProperty 関連 エンティティのプロパティに値オブジェクトを設定

なお、多対多の関連は中間的なエンティティを作成し、1対多(と多対1)の関連を設定することで構成します。