C# 从事数据库开发和生产?

C# 从事数据库开发和生产?,c#,ef-code-first,sql-server-2008-r2,entity-framework-4.3,C#,Ef Code First,Sql Server 2008 R2,Entity Framework 4.3,我在网上找到了几篇文章,但我不能解决这个问题。 我有一个开发数据库,在那里做测试 在我的应用程序中,我首先使用代码,遵循上下文: DataFilmeContext : DbContext { ... Fields and properties ... public DataFilmeContext() : base("name=Data") { //Database.CreateIfNotExists(); //Dat

我在网上找到了几篇文章,但我不能解决这个问题。 我有一个开发数据库,在那里做测试

在我的应用程序中,我首先使用代码,遵循上下文:

DataFilmeContext : DbContext 
{
    ... Fields and properties ...

    public DataFilmeContext()
        : base("name=Data")
    {
        //Database.CreateIfNotExists(); 
        //Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataFilmeContext>());
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Configurations.Add(new ContatoConfiguracao());

        base.OnModelCreating(modelBuilder);
    }
}
DataFilmeContext:DbContext
{
…字段和属性。。。
公共DataFilmeContext()
:base(“名称=数据”)
{
//CreateIfNotExists();
//SetInitializer(新的DropCreateDatabaseIfModelChanges());
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove();
modelBuilder.Configurations.Add(新contatoconfigurationcao());
基于模型创建(modelBuilder);
}
}
问题 生产部门有一个数据库,无法删除! 为了能够发布我的应用程序,我做了一些尝试:

生成数据库的脚本

并在我的生产数据库中运行它

但它没有工作,因为它没有生成脚本表:[[uu MigrationHistory]

迁移 在我的应用程序中,启用了迁移,在文章“”和“”中,我试图删除表[\uu MigrationHistory],但没有成功

问题: 我想重新创建我的数据库产品,而不必删除它


你如何处理这个问题?您有什么建议?

为什么要使用SSM而不是ef迁移生成脚本?因为它没有创建表的权限“\u MigrationHistory”是因为它是一个系统表吗?显然,您可以将其设置为非系统表,否则您应该能够向“updatedatabase-script”的输出中添加几行SQL,以创建迁移表并插入正确的哈希值等(从您的dev迁移表复制)