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が参照設定されます。
モデルファイルをダブルクリックすると、デザイナーが自動的に開きます。サーバーエクスプローラのテーブル定義からモデルを生成することもできますが、ここでは、モデルを先に作って後からデータベースに反映させていきます。
モデル全体の設定
モデル全体の設定をプロパティウィンドウで行います。ここではデータベースの設定を行います。SQL Serverを利用する場合は、[DataBase Provider]に「SqlServer2005」、[ConnectionStrings]に「Data Source=.\SQLEXPRESS;Initial Catalog=LsDemo;Integrated Security=True」のように設定します(接続文字列は環境に応じて変更してください)。
このウィンドウでは、生成コードの名前空間なども設定できますが、とりあえずデフォルトのままで問題ありません。
ツールボックスからエンティティを追加
モデリングを行うには、ツールボックスのEntity(エンティティ)をデザイナーの領域にドラッグ&ドロップします。
ツールボックスのモデリング用アイテム
名前 | 種類 | 説明 |
---|---|---|
Entity | モデル | エンティティ。アイデンティティ(一意のID)で識別されるオブジェクト。LightSpeedではEntityというクラスを基本クラスとしてコード生成され、データベースに保存可能 |
ValueObject | モデル | 値オブジェクト。一意に識別されないオブジェクト。LightSpeedでは基本クラスを持たないPOCOとしてコード生成される |
OneToManyAssociation | 関連 | エンティティ間の関係を1対多に設定 |
OneToOneAssociation | 関連 | エンティティ間の関係を1対1に設定 |
InheritanceAssociation | 関連 | エンティティ間に継承関係を設定 |
ValueObjectProperty | 関連 | エンティティのプロパティに値オブジェクトを設定 |
なお、多対多の関連は中間的なエンティティを作成し、1対多(と多対1)の関連を設定することで構成します。