我是實體框架遷移的新手。我知道使用下面的鏈接能夠自動遷移的基礎知識:C#實體框架如何在生產中啓用自動遷移
http://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx
誰能告訴什麼是使生產自動遷移,沒有任何麻煩的最好辦法,以及如何做自動遷移在場景中的連接字符串在運行時提供?
謝謝
我是實體框架遷移的新手。我知道使用下面的鏈接能夠自動遷移的基礎知識:C#實體框架如何在生產中啓用自動遷移
http://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx
誰能告訴什麼是使生產自動遷移,沒有任何麻煩的最好辦法,以及如何做自動遷移在場景中的連接字符串在運行時提供?
謝謝
EF DB版本檢查將在運行時執行。如果您已在項目中啓用遷移(如您在提供的鏈接中使用MigrateDatabaseToLatestVersion),遷移將應用於第一個上下文初始化。
我已經爲我的生產平臺準備好了,請注意,只有當構建完成於其他調試模式時,纔會執行該命令。
#if !DEBUG
Database.SetInitializer(new MigrateDatabaseToLatestVersion<VerbekeContext, Default.Migrations.Configuration>());
#endif
這在我啓動功能的MVC項目的Global.asax的加入,所以如果你有任何其他應用程序,你應該在執行該@啓動
或者你可以設置AutomaticMigrationsEnabled爲真migrations文件夾中的configuration.cs。如果添加調試開關,請在調試時將其設置爲false,在其他構建模式下將其設置爲true。
namespace Default.Migrations
{
using System.Data.Entity.Migrations;
public sealed class Configuration : DbMigrationsConfiguration<Context>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(Context context)
{
///
}
}
}
我會強烈建議在生產中不使用自動遷移。如果您想完全控制數據模型的演變方式,最好在需要時創建遷移並針對生產數據庫運行它們。 –