|
.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」→「オーダー」となった。 |
もちろん、テーブルをドラッグ&ドロップした後に、画面上でクラス名を変更することも可能である。
カテゴリ:Visual Studio 2008 処理対象:IDE
|
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間