Entity Framework 拼写错误时自动更改 table 名称

Entity Framework automatically change table name when have typo mistake

我有 c# windows 应用程序,代码优先和自动迁移 class 城市:

 class City
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

我的应用程序上下文 class 是:

class AppDbContext : DbContext
    {
        public AppDbContext() : base("ConnectionString")
        {

        }

        protected override void OnModelCreating(DbModelBuilder builder)
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<AppDbContext, Configuration>());
        }

        public DbSet<City> Cityes { get; set; }
    }

当我 运行 我的应用程序时,数据库和 table 城市创建成功但存在一点:

我在类型 Cityes 中有错别字,但在数据库中 table 名称是 Cities

我认为Entity Framework 自动更正拼写错误...是真的吗?如果 Entity Framework 代码优先引擎执行此操作,我如何禁用该功能?

要禁用 Table 复数化,请在 OnModelCreating 覆盖内粘贴:

builder.Conventions.Remove<PluralizingTableNameConvention>();

这应该可以解决 EF 将 table 名称复数化的问题。