.NET TIPS

O/Rデザイナで単数形のエンティティ・クラスを作成するには?[VS 2008]

デジタルアドバンテージ 遠藤 孝信
2008/10/02

 データベースのテーブルに英語の名前を付ける場合、テーブル名を「Orders」や「Customers」などのように複数形にすることがある。

 このようなテーブルをVisual Studio 2008のO/Rデザイナで取り込むと、「Ordersクラス」や「Customersクラス」といったエンティティ・クラスが自動作成される。しかし、エンティティ・クラスのインスタンスは通常、1つのレコードにマッピングされる(対応付けられる)ため、自動作成されるエンティティ・クラスの名前は単数形の名前の方が好ましい。

 次の画面は、Visual Studio 2008 Professional Editionでサーバ・エクスプローラからO/Rデザイナへ、authorsテーブルをドラッグ&ドロップにより追加したところだ。作成されたクラス(角の丸い四角形の図)の名前が「authors」となっているのが分かる。


O/Rデザイナでドラッグ&ドロップにより作成したエンティティ・クラス
既定では、テーブル名がそのままエンティティ・クラスの名前となる。なお、O/Rデザイナは、LINQ To SQLの利用時に、エンティティ・クラスを定義している「.dbmlファイル」を編集するために使用する。プロジェクトに.dbmlファイルを追加するには、「新しい項目」として、「LINQ to SQL クラス」を追加すればよい。

 Visual Studio 2008では、「s」または「ies」で終わるテーブル名のテーブルをO/Rデザイナに追加した場合、その名前を単数形にしてエンティティ・クラスの名前とする機能がある。ただしこの機能は英語版のVisual Studio以外では、既定でオフとなっている。

複数形対応のオプションの変更

 単数形の名前を付ける機能をオンにするには、メニューの[ツール]−[オプション]を選択して[オプション]ダイアログを開き、「O/R Designer」の項目で、「名前の複数形化」をFalse(既定)からTrueに変更する。機能名が「名前の複数形化」となっていて若干分かりづらいが、これは「複数形対応を有効にするかどうか」という意味である。


[オプション]ダイアログの「名前の複数形化」
「True」に設定すれば、単数形の名前を付ける機能がオンになる。

 この機能は日本語のテーブル名に対しては影響しないはずなので、この項目は常にTrueにしておいても問題にはならないだろう。

 以下の画面は、「名前の複数形化」をTrueに設定した後、いくつかのテーブルをO/Rデザイナに追加したところだ。


単数形の名前で作られたエンティティ・クラス
自動的に「authors」→「author」、「Cities」→「City」、「オーダーs」→「オーダー」となった。

 もちろん、テーブルをドラッグ&ドロップした後に、画面上でクラス名を変更することも可能である。End of Article

カテゴリ:Visual Studio 2008 処理対象:IDE

この記事と関連性の高い別の.NET TIPS
[LINQ to SQL]関連するテーブル内容を先に読み込んでおくには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH