How do I singularize my tables in EF Code First?

后端 未结 3 1713
一向
一向 2020-11-29 02:36

I prefer using singular nouns when naming my database tables. In EF code first however, the generated tables always are plural. My DbSets are pluralized which I believe is

相关标签:
3条回答
  • 2020-11-29 02:46

    You can also change the property value:

    On the Tools menu, click Options. In the Options dialog box, expand Database Tools. Click O/R Designer. Set Pluralization of names to Enabled = False to set the O/R Designer so that it does not change class names. Set Pluralization of names to Enabled = True to apply pluralization rules to the class names of objects added to the O/R Designer.

    0 讨论(0)
  • 2020-11-29 02:50

    You've removed the wrong convention (PluralizingEntitySetNameConvention) for this purpose. Just replace your OnModelCreating method with the below and you will be good to go.

    using System.Data.Entity.ModelConfiguration.Conventions.Edm.Db;
    ...
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {    
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
    

    With Entity Framework 6, on your file that inherit from DbContext:

    using System.Data.Entity.ModelConfiguration.Conventions;
    
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
    
    0 讨论(0)
  • 2020-11-29 03:02

    The location of the definition of PluralizingTableNameConvention has moved to:

    using System.Data.Entity.ModelConfiguration.Conventions;

    0 讨论(0)
提交回复
热议问题