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这个 ...
随机推荐
- Shiro的FormAuthenticationFilter登陆成功不跳转
http://jinnianshilongnian.iteye.com/blog/2024723 张开涛的这个配置信息有误,导致默认authc登陆成功后无法跳转 FormAuthenticationF ...
- Skyline TerraExplorer 7.0- 扩展信息树
Skyline TerraExplorer V7增加了一个扩展信息树的控件TEInformationWindowEx. 该控件能够将TE3DWindowEx窗口里面的对象显示为信息树的方式.TEIn ...
- Python课程第三天作业
一.统计⽂件数据中出现的的所有字符与该字符出现的个数(不区分⼤⼩写,标点与空格也算) ⽂件内容: hello friend, can you speak English! # 结果: { 'h': 1 ...
- java锁
---恢复内容开始--- synchronized 互斥锁 synchronized(this) 当前类的所有synchronized(this) 都被锁了,还有synchronized static ...
- 《机器学习实战》之一:knn(python代码)
数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, ...
- 常见cmd命令,开发人员必备
运行程序 notepad--------打开记事本 calc-----------启动计算器 regedit.exe-------注册表 write----------写字板 mmc--------- ...
- qt qextserialport __imp_SetupDiGetDeviceRegistryPropertyW
使用 qextserialport 编写串口助手的时候,提示找不到 __imp_SetupDiGetDeviceRegistryPropertyW,经过摸索有以下两种解决方法: 第一种: 把相应的源文 ...
- Flask对数据库的操作-----
首先得做好做基本的框架 # -*- encoding: utf-8 -*- from flask import Flask,render_template #导入第三方连接库sql点金术 from f ...
- Spring 依赖注入(基本注入和自动适配注入)
Spring 依赖注入 Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系. 属性注入 构造注入 内部注入 自动装配 1.属性注入 IService: public in ...
- hml页面转化成图片
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...