0

エンティティ フレームワークがすべてのクラス名を複数形にし、デフォルトで最初の文字を大文字にするのはなぜですか? これを行う利点は何ですか?ばかげた質問かもしれませんが、ただの好奇心からですか?

4

3 に答える 3

2

.NET スタイルのガイドラインでは、すべてのクラス名は CamelCase にする必要があると規定されています。

複数形についてはわかりませんが、個々のエンティティ オブジェクトの複数形ではありませんね。ただし、コレクションには意味があります。

于 2010-08-09T20:48:39.343 に答える
1

クラス ライブラリを開発するための .NET デザイン ガイドライン の大文字と小文字の規則のセクションでは、すべてのクラス名をパスカル ケースにする必要があると述べています。これは次のように定義されています。

「識別子の最初の文字と、後続の連結された各単語の最初の文字は大文字になります。3 文字以上の識別子にはパスカル ケースを使用できます。例:

バックカラー」

複数形については、Entity Framework モデル デザイナーの既定の設定を使用すると逆になることがわかりました。複数のテーブル名を単数形に変換します。たとえば、Northwind データベースを使用し、既定の設定を使用すると、デザイナーが Products テーブルを というクラスに変更し、ProductCategories テーブルを というクラスに変更することがわかりましたCategoryProductオブジェクトの単一のインスタンスは ではなくであるため、これは理にかなっていますProducts

反対の効果が得られている場合、私は戸惑います。ただし、何が起こっているのかを説明しているこの記事 - Entity Framework 4.0: Pluralization by Dan Rigsby を確認してください。

于 2010-08-09T21:10:41.423 に答える
0

クラスを単数形にし、コレクションを複数形にする必要があります。たとえば、これはefによって単数形化と複数形化が行われる場所です

var 顧客 = 新しい顧客{}; //単数クラス db.Customers.AddObject(customer); ObjectSEt は複数形です

customer.Orders.Add(新しい注文{}); 注文ナビゲーション プロパティは複数形です。

詳細については、私の本で 7-6 のレシピを読むこともできます。

于 2010-08-10T03:23:56.107 に答える