私は最初にEFモデルを試してみます。EF4.1を使用しています
ほぼこの記事に従った
モデルでPluraliseNewObjectsをFalseに設定し、[オプション]->[データベースツール]->[O /RDesigner]で[名前の複数化]をfalseに設定しました。
どちらも効果はありません-モデルから新しいスキーマを生成するとき、テーブル名は常に複数形になっています-これを無効にすることは可能ですか?
私は最初にEFモデルを試してみます。EF4.1を使用しています
ほぼこの記事に従った
モデルでPluraliseNewObjectsをFalseに設定し、[オプション]->[データベースツール]->[O /RDesigner]で[名前の複数化]をfalseに設定しました。
どちらも効果はありません-モデルから新しいスキーマを生成するとき、テーブル名は常に複数形になっています-これを無効にすることは可能ですか?
生成された DDL 内のテーブルの名前は、「エンティティ セット名」の値と一致しているようです (「エンティティ名」とは異なります)。エンティティ セット名を単一化すると、DDL 内のテーブル名も単一化されます。
ただし、これにより、コード内の EntitySet プロパティ名が単数形になるという望ましくない影響が生じる可能性があります。それ以外の:
myDatabase
.Products
.Where...
.Select...
コードは次のようになります。
myDatabase
.Product
.Where...
.Select...
問題になる場合とそうでない場合があります
OK - 私が望むものを達成する方法を 1 つ見つけました - しかし、それはかなりばかげたルートです。
複数形の名前で生成されたデータベース(多対多の結合用に自動生成されたリンクテーブルではなく、タイプにマッピングされたテーブルのみを複数形にしたことは興味深い)。
データベース内のテーブルの名前を手動で変更しました
プロジェクトからモデルを削除し、既存のデータベース スキーマ (名前を変更したばかり) に基づいて再作成しました。
モデルが単数名テーブルに正しくマップされるようになりました。
私は待って、誰かがこれを達成するためのより賢明な方法を考え出すかどうかを確認します....