相关疑难解决方法(0)

首先是实体框架代码 - 如何为生产数据库运行Update-Database

我想知道如何为生产数据库运行'Update-Database'命令.

"更新 - 数据库"数据库在我的本地计算机上运行良好,但如何使其适用于生产数据?

因此,如果我对我的应用程序进行更改,然后通过visual studio运行"发布",这对于代码方面的工作正常,但是如何为生产数据运行"Update-Database"命令.

希望这个问题有道理......

谢谢,

c# asp.net-mvc entity-framework

69
推荐指数
4
解决办法
7万
查看次数

使用连接字符串进行代码优先迁移

所以我设法让Code First运行,它运行良好.

由于我仍在开发应用程序,因此数据库的结构尚未最终确定,因此我需要实现迁移.

我关注了官方博客帖子并获得了Update-Database命令.

但是,这只会更新数据库的SQLExpress版本.数据库的生产版本在Azure上,我在运行时指定连接字符串,因此Update-Database命令不起作用.

所以我的最后一个问题是:如何将自动迁移应用于在运行时指定连接字符串的生产数据库?

code-first ef-code-first ef-migrations

37
推荐指数
2
解决办法
4万
查看次数

实体框架4.3在应用程序启动时运行迁移

使用EF 4.3在应用程序启动时执行所有必需的数据库迁移的最佳方法是什么?

.net migration entity-framework ef-migrations entity-framework-4.3

34
推荐指数
2
解决办法
1万
查看次数

MigrateDatabaseToLatestVersion没有运行的Seed()方法

我正在尝试自动生成我的数据库(如果它不存在)并运行该Seed()方法来填充数据.在我的数据库上下文构造函数中,我有:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDBContext, Configuration>());
Run Code Online (Sandbox Code Playgroud)

这很好用,我的数据库会根据需要自动创建所有表,但似乎Seed()没有调用该方法,我的数据库是空的.这是我的班级:

internal sealed class Configuration : DbMigrationsConfiguration<Context.MyDBContext>
{

    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }

    protected override void Seed(Context.MyDBContext context)
    {
        context.Users.AddOrUpdate(
            new Entities.User() { Email = "default@default.com", Password = "", Language = "en", CreatedDate = DateTime.Now }
        );

        base.Seed(context);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我Update-DatabaseNuget控制台中运行时,数据在创建数据库后填充,但是不调用MigrateDatabaseToLatestVersionSeed()方法.

可能发生什么?我尝试从这里手动运行迁移:

var configuration = new MyDbContextConfiguration();
configuration.TargetDatabase = new DbConnectionInfo(
    database.ConnectionString, database.ProviderName);

var migrator = new DbMigrator(configuration);
migrator.Update();
Run Code Online (Sandbox Code Playgroud)

但也行不通. …

c# entity-framework ef-migrations

9
推荐指数
1
解决办法
4967
查看次数