ホームページ > データベース > mysql チュートリアル > 私のビューでは単数のテーブルが必要であるのに、Entity Framework は複数のテーブルを作成するのはなぜですか?

私のビューでは単数のテーブルが必要であるのに、Entity Framework は複数のテーブルを作成するのはなぜですか?

Barbara Streisand
リリース: 2024-10-29 10:29:30
オリジナル
488 人が閲覧しました

 Why Does Entity Framework Create a Plural Table While My View Expects a Singular Table?

Entity Framework は複数のテーブルを作成しますが、ビューは単数のテーブルを期待します

提供されたコードでは、Entity Framework はビューが複数のテーブルを作成します。単一のテーブルが必要です。この不一致は、Entity Framework によって作成されたテーブルとビューによって参照されるテーブルの名前が異なるために発生します。

Entity Framework によって作成されたテーブルは、エンティティの名前を複数形にする規則に従います。したがって、この場合は、「Votes」という名前のテーブルが生成されます。ただし、このビューでは「Vote」という名前のテーブルが必要です。この主な理由は、MySQL .net コネクタによる EF のサポートです。複数形化を削除し、その他の調整を行うと、問題が解決されるはずです。

まず、「ApplicationStart」メソッドには軽微なエラーが含まれています。

// Database.SetInitializer(new DropCreateDatabaseAlways<myDB>());
Database.SetInitializer(new myDBInitializer());
ログイン後にコピー

さらに、「OnModelCreating」の基本実装を無効にすると、 required:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    // modelBuilder.Entity<Vote>().ToTable("Votes")
    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
ログイン後にコピー

また、MySQL .net コネクタが EF によるデータベースの生成を妨げ、事前に空の DB を作成する必要があるとも示唆されています。この制限は、現在のシナリオのコネクタ バージョン 6.4.4 には適用されません。ユーザーが必要な権限を持っている場合は、データベースを作成することをお勧めします。

これらの調整により、Entity Framework によって作成された複数のテーブル名とビューによって予期される単数のテーブル名との間の不一致が解決されます。

以上が私のビューでは単数のテーブルが必要であるのに、Entity Framework は複数のテーブルを作成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート