实现CodeFirst自动数据迁移无需命令

本主题假设您掌握了实体框架中 Code First 迁移的基本知识。

借助自动迁移功能,您无需对您所做的每一个更改都在程序包管理器控制台中运行Update-Database 命令。

启用迁移

只需执行一次开启迁移命令,在程序包管理器控制台中运行 Enable-Migrations(如已启用迁移则无需再次执行)。

AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;

实现自动迁移

Global.asax

namespace AutoMigrate
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //自动迁移
            Database.SetInitializer<Model1>(new MigrateDatabaseToLatestVersion<Model1, AutoMigrate.Migrations.Configuration>());
            var dbMigrator = new DbMigrator(new AutoMigrate.Migrations.Configuration());
            dbMigrator.Update();
        }
    }
}

至此之后您的项目添加实体对象属性后 而无需运行Update-Database 命令。

时间: 2024-10-22 10:52:43

实现CodeFirst自动数据迁移无需命令的相关文章

20.1翻译系列:EF 6中自动数据迁移技术【EF 6 Code-First系列】

原文链接:https://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx EF 6 Code-First系列文章目录: 1 翻译系列:什么是Code First(EF 6 Code First 系列) 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列) 3.翻译系列:EF Code-First 示例(EF 6 Code-First系列) 4

MVC5+EF6+MYSQl,使用codeFirst的数据迁移

之前本人在用MVC4+EF5+MYSQL搭建自己的博客.地址:www.seesharply.com;遇到一个问题,就是采用ef的codefirst模式来编写程序,我们一般会在程序开发初期直接在global.asax里面加上 System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<Farm.Models.FarmContext>());//每次在模型更改的

EF应用CodeFirst模式,数据迁移的基本用法要点摘记

第一次使用EntityFramework做CodeFirst的开发,在做数据迁移时遇到不少问题,花费了一整天的时间学习调整,总算时学会了基本用法和要点.现在整理后贴出来,希望对和我一样的初用者能有一些帮助,少走一些弯路,少花一点时间摸索,都是值得的. 一. 模型设计 1.  遵循EF标准,注意表关系配对 2.  数据模型里尽量把必须的属性和说明都写全 3.  EF默认id字段为主键,如果没有,需指定主键 二. 数据迁移 1.  命令运行环境:visual studio工具栏->工具->NuGe

EntityFramework Migration 数据迁移命令

常用命令集合: 1. [Enable-Migrations]开启数据迁移,开启后项目中会添加[Migrations]文件夹. 相关命令:[Enable-Migrations -EnableAutomaticMigrations ]开启自动数据迁移,不产生代码文件 2. [Add-Migration <自定义文件名>]生成数据迁移更新文件,如Add-Migration AddPost 3. [Update-Database]更新数据库结构 相关命令:[Update-Database -Verbo

EF 中 Code First 的数据迁移以及创建视图

写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功),我摸索出了一种简单有效的方法,这里分享给大家. EF是Entity Framework(实体框架)的简写,是微软出品的用来操作数据库的一个框架,会ASP.NET MVC的朋友对他肯定都不陌生.由于学艺不精,我对EF存在一疑虑,就不以[提问]的方式来问了,我以[总结]的方式来表达,如果总结有误的地

EF数据迁移

开启codefirst迁移命令: Enable-Migrations -ContextTypeName BlogEntities BlogEntities(上下文,继承DbContext的那个类) 更新数据库命令: Update-Database -Verbose 新增变更类文件命令: Add-Migration AddBolg AddBolg(生成的文件名) 自动数据迁移: 将Configuration的AutomaticMigrationsEnabled设置为true 当设置自动数据迁移之后

CoreData的增删改查和数据迁移示例

作为管理器,最基本的功能就是增删改查了. 1.插入 AppDelegate *app = [[UIApplication sharedApplication] delegate]; NSManagedObjectContext *context = [app managedObjectContext]; NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:@"entity

CoreData的数据迁移

CoreData的数据迁移 很多人说CoreData坑多,现在才感觉到,今天上午写代码的时候,发现了一个大问题. 过程如下,之前我自己给coredata的实体添加了几个字段,后来网上的一个用户说我们的app进去后闪退,但是我自己从新冲appstore下载了一个发现并没有哪些问题.于是这个事就过去了.第二天我run我自己的新程序的时候,发现coredata一保存在save方法的时候,就直接闪退.连错误都不报.导致我很崩溃... 网上一查,原来是要数据迁移.下面是我的一些记录,希望能帮助到别人. 其

ASP.NET MVC 之CodeFirst 数据迁移

CodeFirst模式下如果 一个 类的属性 增加或者删除 那么 与其对应的 就是 数据库中所对应的 字段 增加或者删除 一个属性变化还好 ,我们直接可以到数据库中找到 ,所对应的表中,对其修改,那么 一次对多个类中的属性做修改,如果 手动 来操作是件很头疼的事情 那么数据迁移 很轻松的解决 问题 以下是 我建立的上下文 TestEF 用于测试 用的 班级类 老师类 namespace WebApplication2 { using System; using System.Collection