我有c#windows应用程序,代码优先,自动迁移类城市:
class City
{
public int Id { get; set; }
public string Name { get; set; }
}
我的应用程序上下文类是:
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; }
}
当我运行我的应用程序时,数据库和表Cityes已成功创建,但存在一个要点:
我在Cityes
类型中输入错误,但在数据库中,表名为Cities
我认为实体框架会自动纠正拼写错误......这是真的吗?如果实体框架代码第一引擎这样做,我如何禁用该功能?
答案 0 :(得分:1)
要禁用表格多元化,请在OnModelCreating
覆盖中粘贴:
builder.Conventions.Remove<PluralizingTableNameConvention>();
这应该可以解决EF多重表名的问题。