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 名称复数化的问题。
我有 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 名称复数化的问题。