我可以在没有丰富的表名的情况下使用Code First Migrations吗?

the*_*age 5 ef-code-first ef-migrations

我们终于把事情弄平了,以便我们可以先开始使用代码.

当我运行"启用 - 迁移"时,它会在其名称中创建一个包含InitialCreate的文件.
(像这里:http://msdn.microsoft.com/en-us/data/jj591621.aspx#enabling)

该文件具有多个数据库表名而不是单数.

我的initiazlizer中有这一行,这是正确的:

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
Run Code Online (Sandbox Code Playgroud)

但是使用迁移创建的文件具有所有复数名称.

当我添加一个迁移时,这会变得很烦人,它所做的第一件事就是删除数据库中的每个复数表并将它们重新添加为单数.

我可以将参数传递给"启用迁移"命令或其他东西以告诉它不复数吗?

and*_*dyp 5

此行为已修复,我无法使用 EF 6.1.0 重现它。我首先使用初始化程序创建了数据库,然后运行Enable-Migrations(当然OnModelCreating()已经包括删除 的行PluralizingTableNameConvention)。生成的迁移(InitialCreate名称中带有)生成以单数命名的表。因此,如果您能够更新 EF,您的问题就会消失。

如果没有:您是否尝试使用Table属性以单数形式覆盖表名称?至少生成的迁移代码确实尊重它(不过我还没有检查过比 6.1.0 更旧的 EF 版本)。

[Table("MyEntity")]
public class MyEntity
{
    // .. your properties go here.
}
Run Code Online (Sandbox Code Playgroud)