gpt4 book ai didi

c# - Entity Framework 迁移 - 启用 AutoMigrations 以及添加的迁移

转载 作者:可可西里 更新时间:2023-11-01 08:38:50 24 4
gpt4 key购买 nike

我在我的项目中使用 Entity Framework 4.3 迁移。我想使用自动迁移,这样当我修改我的域对象和上下文类时,我的数据库会在我运行项目时自动更新。到目前为止我有这个工作。

除了自动迁移之外,我还想使用一些 Added Migrations,并且我希望应用程序在运行应用程序时自动跳转到最新版本(基于我添加的迁移)。

为了做到这一点,我将它放在了 global.asax 文件中......

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

现在这行得通了,但是当我这样做时,它不再根据我的域对象自动更新数据库。

我希望能够完全删除数据库,然后运行应用程序并运行所有自动迁移,然后运行我的显式迁移并将数据库升级到最新版本。

我知道我在之前的项目中使用过这个,但我不确定在这个例子中我做错了什么。

谢谢

最佳答案

您需要传递一个在构造函数中将 AutomaticMigrationsEnabled 设置为 true 的配置。这样的事情应该有所帮助:


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

MyConfiguration 是这样的:


public class MyConfiguration : Core.Migrations.Configuration
{
public MyConfiguration { this.AutomaticMigrationsEnabled = true; }
}

免责声明:刚刚破解了这个,所以可能需要进行一些小的调整才能编译

编辑:

刚刚检查了 EF 4.3.1,初始化程序的代码如下所示:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataContext, MyConfiguration>());

这是配置类:

public class MyConfiguration : System.Data.Entity.Migrations.DbMigrationsConfiguration<DataContext>
{
public MyConfiguration()
{
this.AutomaticMigrationsEnabled = true;
}
}

关于c# - Entity Framework 迁移 - 启用 AutoMigrations 以及添加的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com