code first , Migration
文章引用至: https://www.cnblogs.com/panchunting/p/entity-framework-code-first-migrations.html
随着业务的增加, 之前code first创建的表可能已经不能满足需求, 比如增加一个字段, 这样就出来了‘Migrations’
第一步:
- 在 Package Manager Console 下运行命令 Enable-Migrations
需要熟悉的命令有:
- Add-Migration 将 scaffold 创建下一次基于上一次迁移以来的更改的迁移;
- Update-Databse 将任何挂起的迁移应用到数据库
《1》: 新增字段: ‘Url’
1. console输入: Add-Migration AddNewUrl
2. 会看到产生一个新的cs文件

完善方法中的内容: (新增字段的类型需要自己定义, 如果为int型, 就是'c=>c.Int()')
public partial class AddNewUrl : DbMigration
{
public override void Up()
{
AddColumn("dbo.News", "Url", c => c.String());
} public override void Down()
{
DropColumn("dbo.News", "Url");
}
}
《2》 删除字段
1. console输入: Add-Migration DeleteNewUrl
2. 对应产生文件,完善文件中的方法
public partial class DeleteNewUrl : DbMigration
{
public override void Up()
{
DropColumn("dbo.News", "Url");
} public override void Down()
{
}
}
3 执行更新 : Update-Database
《3》修改字段 类型
1. console输入: Add-Migration UpdateRatingUrl
2. 对应产生文件,完善文件中的方法
public partial class UpdateRatingUrl : DbMigration
{
public override void Up()
{
AlterColumn("dbo.News", "Rating", c => c.String());
} public override void Down()
{
}
}
3 执行更新 : Update-Database
《4》新增一个集合
1. console输入: Add-Migration AddTagModel
2. 对应产生文件,完善文件中的方法
public partial class AddTagModel : DbMigration
{
public override void Up()
{
CreateTable("dbo.Tags", c => new
{
TagId = c.Int(nullable: false, identity: true),
TagName = c.String(maxLength: ),
NewId = c.Int(nullable: false)
}).PrimaryKey(t => t.TagId)
.ForeignKey("dbo.News", t => t.NewId, cascadeDelete: true)
.Index(t => t.NewId)
.Index(p => p.TagName, unique: true);
} public override void Down()
{
DropIndex("dbo.Tags", new[] { "TagName" });
DropForeignKey("dbo.Tags", "NewId", "dbo.News");
DropIndex("dbo.Tags", new[] { "NewId" });
DropTable("dbo.Tags");
}
}
3 执行更新 : Update-Database
4 执行结果

code first , Migration的更多相关文章
- EF Code First Migration总结
开启Migration 1. 通过 Tools->Nuget Package Manager->Package Manager Console 打开Package Manager Cons ...
- Some lines about EF Code First migration.
Some lines about EF Code First migration: 一. 模型设计 1. 遵循EF标准,注意表关系配对 2. 数据模型里尽量把必须的属性和说明都写全 3. EF默认id ...
- MVC - Code First Migration Command line
当开发MVC应用程序, 使用.NET Entity Framework的Code First model试, 若是需要将model层对象的改动更新进数据库, 需要使用Package Manager C ...
- 解决code first Migration 增加外键时出现错误的问题
先上模型 Comment public class Comment { [Key] public int CommentId { get; set; } [Required] public int S ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- Entity Framework Code First 学习
1.添加entityframework 项目-管理解决方案的 NuGet 程序包-联机-Entity Framework 2.code first Migration 工具->库程序包管理器-& ...
- MVC 5 的 EF6 Code First 入门
英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列 ...
- 在Code First中使用Migrations对实体类和数据库做出变更
在Code First中使用Migrations对实体类和数据库做出变更,Mirgration包含一系列命令. 工具--库程序包管理器--程序包管理器控制台 运行命令:Enable-Migration ...
- C# ORM—Entity Framework 之Code first(代码优先)(二)
一.Entity Framework Code first(代码优先)使用过程 1.1Entity Framework 代码优先简介 不得不提Entity Framework Code First这个 ...
随机推荐
- dotnet core调试docker下生成的dump文件
最近公司预生产环境.net core应用的docker容器经常出现内存暴涨现象,有时会突然吃掉几个G,触发监控预警,造成容器重启. 分析了各种可能原因,修复了可能发生的内存泄露,经测试本地正常,但是发 ...
- SSM框架指的是什么
SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成, 常作为数据源较简单的web项目的框架. 其中spring是一个 ...
- 创建自定义的 Angular Schematics
本文对 Angular Schematics 进行了介绍,并创建了一个用于创建自定义 Component 的 Schematics ,然后在 Angular 项目中以它为模板演练了通过 Schemat ...
- 自己的mongodb的CRUD封装
工具类:package Utils; import com.google.common.collect.Lists; import com.mongodb.MongoClient; import co ...
- CSS画三角形图标
/* 等腰三角形(箭头朝上): */ #div1{ width: 0; height: 0; border-bottom: 100px solid cyan; border-left: 50px so ...
- html弹出div
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 在c#中利用keep-alive处理socket网络异常断开的方法
本文摘自 http://www.z6688.com/info/57987-1.htm 最近我负责一个IM项目的开发,服务端和客户端采用TCP协议连接.服务端采用C#开发,客户端采用Delphi开发.在 ...
- Linux下Docker快速部署LAMP
文章目录 拿来即用 获取LAMP LAMP版本 icoty1/lamp:v1.1.0制作过程 获取ubuntu基础镜像 安装依赖 mysql apache/php phpmyadmin 使apache ...
- 69.纯 CSS 创作一个单元素抛盒子的 loader
原文地址:https://segmentfault.com/a/1190000015470411#articleHeader0 HTML code: <div class="loade ...
- centos7配置yum本地源(iso镜像)及局域网使用
2.测试环境: 服务器1:44.135.8.19(yum源) 服务器2:44.135.8.1(局域网机器) 系统:centos7.4 上传iso镜像到服务器,并挂载iso镜像 mount -t iso ...