2

我正在进行的项目需要通过我们拥有的安装程序创建和更新数据库。

该项目是一个 MVC 网站,因此当前数据库配置为在 Application_Start 被点击时创建/更新。

初始化器设置如下:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext,Migrations.Configuration>());

在配置中:

public Configuration()
{
    AutomaticMigrationsEnabled = true;
    AutomaticMigrationDataLossAllowed = true;
}

理想情况下,我想简单地设置初始化程序并直接从 C# 自定义操作中运行它。我一直在尝试类似下面的东西,但到目前为止还没有运气。

[CustomAction]
    public static ActionResult DBSetup(Session session)
    {
        try
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Migrations.Configuration>());

            using (var db = new MyContext())
            {
                db.Database.Initialize(true);
            }

        }
        catch (Exception err)
        {
            session.Log("Error setting up DB: " + err.InnerException);
            session.Log("", err.Message);
            return ActionResult.Failure;
        }

        return ActionResult.Success;
    }

捕获的异常似乎不包含任何信息,因此调试很困难..

只是想知道是否有其他人尝试过这个,或者尝试过类似的东西并得到了一些工作。

4

1 回答 1

0
于 2013-10-24T18:19:26.457 回答