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迁移表复制)