6

EF にいくつかのモデルとテーブルがあり、それらの 1 つをここで見ることができます。

オプション機種

モデルからデータベースを生成したい場合、生成されたSQLのテーブルの名前に「s」が追加されます。

CREATE TABLE [dbo].[Options] (
[Id] int IDENTITY(1,1) NOT NULL,
[Name] nvarchar(50)  NOT NULL,
[Price] int  NOT NULL
); 

このように名前の複数形も無効にしましたが、何も変わりませんでした:

ここに画像の説明を入力

これにより、Web アプリケーションのデプロイ時にエラーが発生します。どうすれば複数形を防ぐことができますか?

4

4 に答える 4

2

EDMXファイルを作成するときは、複数形のチェックを外す必要がありますここに画像の説明を入力

于 2013-11-19T10:32:55.463 に答える
0

Code First のみで複数形化機能を無効にできるようです。そのため、次のコードは機能しません。

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

運が良ければ、これを試してください:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Option>().ToTable("Option")
}

使用している Entity Framework のバージョンを知る必要がある場合は、いくつかの方法があります。

  • プロジェクト ツリーで [参照] を展開し、[EntityFramework] で F4 キーを押します。
  • プロジェクトを右クリックし、「NuGet パッケージの管理...」を選択します。ここから、バージョンを確認して更新できます。
于 2013-07-09T20:38:58.100 に答える