CodeFirst数据库迁移小记
打开“程序包管理器控制台”菜单项
一、Enable-Migrations -ContextTypeName Code_First_数据迁移.Models.T_DbContext
成功后提示:已在项目“Code First 数据迁移”中启用迁移。若要覆盖现有迁移配置,请使用 -Force 参数。
且在项目中新建了Migrations文件夹和Configuration文件
二、修改Configuration文件中Seed方法,并重新编译解决方案
protected override void Seed(Code_First_数据迁移.Models.T_DbContext context) //需要迁移的上下文
{
context.Students.AddOrUpdate
(
i => i.Name,
new Student() { Name="小小", Age=15}, //添加测试数据
new Student() { Name="大大", Age=17}
);
}
三、add-migration Initial //创建初始化迁移 注: Initial 是随意命名的,用来命名创建好的迁移文件。
成功后,创建了 {DateStamp}_Initial.cs 这个文件,它包含了为数据库CodefirseSJQY创建Students表的指令
四、update-database
执行更新数据库命令,{DateStamp}_Initial.cs 文件将会运行并创建数据库结构,然后将执行 Seed 方法将测试数据插入数据库中。
成功后:指定“-Verbose”标记以查看应用于目标数据库的 SQL 语句。
正在应用基于代码的迁移: [201510190651129_Initial]。
正在应用基于代码的迁移: 201510190651129_Initial。
正在运行 Seed 方法。
问题:
1.在程序集“TestMVC”中找不到上下文类型“Code_First_数据迁移.Models.T_DbContext”。
解决:将默认项目改成你现在需要迁移的项目即可
2.目标上下文“Code_First_数据迁移.Models.T_DbContext”不可构造。添加默认构造函数或提供 IDbContextFactory 的实现。
解决:在T_DbContext类中 添加默认构造函数public T_DbContext() { }
CodeFirst数据库迁移小记的更多相关文章
- 在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移
在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...
- .Net Core建站(2):EF Core+CodeFirst数据库迁移
上一篇的话,说了下怎么使用EF7 实现 CodeFirst去生成数据库, 其实还有好多问题的,这次一点一点的解决吧,都挺简单,不过零零散散的,, 1.读取配置文件,获得链接字符串 2.使用数据库进行增 ...
- EntityFramework CodeFirst 数据库迁移
参考: https://msdn.microsoft.com/en-us/data/jj591621 https://msdn.microsoft.com/en-us/library/dd394698 ...
- 2.EF中 Code-First 方式的数据库迁移
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...
- EF架构~CodeFirst数据迁移与防数据库删除
回到目录 本文介绍两个概念,防数据库自动删除,这是由于在code first模式下,当数据实体发生变化时,会对原来数据库进行删除,并将新数据表添加进来,但这对于我们的运营环境数据库,是万万不能接受的, ...
- asp.net mvc CodeFirst模式数据库迁移步骤
利用Code First模式构建好基本的类后,项目也开始搭建完毕并成功运行,而且已经将数据库表结构自动生成了. 但是,我有新的类要加入,有字段需要修改,那怎么办呢,删库,跑路 ? 哈哈 利用数据库迁 ...
- EF CodeFirst系列(9)---添加初始化数据和数据库迁移策略
1.添加初始化数据(Seed) 我们可以在初始化数据库的过程中给数据库添加一些数据.为了实现初始化数据(seed data)我们必须创建一个自定义的数据库初始化器(DB initializer),并重 ...
- 20.2.翻译系列:EF 6中基于代码的数据库迁移技术【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx EF 6 ...
- 20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx EF 6 Code-First ...
随机推荐
- 为Windows 7的winsxs目录瘦身,谨慎。
刚使用Win7 系统不久,前段时间在清理系统垃圾时发现,win7系统的windows文件夹下的winsxs 文件夹占用空间很大,想清理之,却提示无权限无法清理.随即在网上查了个到底,原来winsxs是 ...
- centos 5.4 安装nodejs + npm(转)
而在安装nodejs的时候,需要用到,所以需要手动安装bz2库. sudo yum install -y bzip2* cd Python-/Modules/zlib ./configure make ...
- LINUX 论文
https://www.kernel.org/pub/linux/kernel/people/paulmck/
- QT软键盘
如何实现鼠标单击弹出软键盘 默认情况下,如果当前编辑框无焦点,则需要鼠标点击两次才弹出软键盘,其中第一次是让该编辑框获得焦点,第二次点击才弹出软键盘: 如果当前编辑框已经获得焦点,则点击一次就会弹出软 ...
- log4j.properties文件配置--官方文档
Default Initialization Procedure The log4j library does not make any assumptions about its environme ...
- oracle学习----行级锁的理解
通过实验来理解行级锁的发生 1.创建需要的表 SQL> conn / as sysdba已连接.SQL> create table dept as select * from scott. ...
- Android_Intent_passValueForResult
当SecondActivity需要回传参数时:1. MainActivity启动SecondActivity时需要调用startActivityForResult() 并定义请求码2. SecondA ...
- 转:maven报错非法字符:\65279 错误
开发中一个项目很早就报这个错,maven报错非法字符:\65279 错误,今天终于忍无可忍要解决它 :编译java文件的时候,有些java文件报非法字符 \65279错误,在网上找和很多 方法,也试了 ...
- $stop and $finish in verilog
$stop - Pauses the simulation, so you can resume it by using fg command in linux. In this case lince ...
- poj 1007 DNA Sorting
DNA Sorting Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 95437 Accepted: 38399 Des ...