C#笔记之EF Code First 数据模型 数据迁移
作者:意愿三七 时间:2022-07-03 05:27:58
EF的基本使用 一、EF的创建二、修改数据库一、加数据库字段二、加数据库 表
一、EF的创建
第一步: 创建一个类库
第二步: 选择类库
第三步:选择ADO.NET 实体数据模型,名称和你数据库名字对应,我的叫LetDB
第四步:出现了窗体
先解释一下这些EF模型:
1.来自数据库的EF设计器:
先有数据库,根据数据库生成模型
2.空EF设计模型:
模型优先,通过设计的模型生成数据库
3.空 Code First 模型:
代码优先,通过代码生成数据库
4.来自数据库的Code First:
根据数据库生成实体,可以通过代码修改数据库
第五步:选择第四个模型
连接数据库:
点击新建连接:
选择即可!!!
模型中包含的对象:把表选中,视图看自己有没有,需要就添加
点击完成即可创建!!!
创建完成即是这样:你的数据库的表变成了实体类,类里面有表的字段
LetDB显示管理的表,这些不详细解释
二、修改数据库
一、加数据库字段
我们如果想加一个字段需要怎么样操作呢?
第一步:找到管理器控制台
下面这个加深的是代码,是准备想加的字段 可以先去对应的表cs 里面打好
控制台输入:(启动数据库迁移)
Enable-Migrations 按下回车
想添加的字段 Sstate
出现以下情况:
第一步:出现了文件夹 和一个类
第二步:进去里面 有个属性 改为true
第三步:删库(不跑路哈~) 强烈建议先 拿一个没有用的数据库试试 出问题不负责哈!!
第四步:通过代码生成数据库
update-database
成功了,你会发现数据库回来了,而且多了一个表,想添加的字段也来了,那么为什么新多一个表呢?
这个表干嘛的:是系统的表结构存放你数据库的信息,和版本,根据版本来判断是否更新数据库,所以删库的原因是为了生成这么一个东西。
二、加数据库 表
第一步:先复制一个已经拥有的类
然后改个名字:把class后面 和构造方法的名字给改一下
注意这个也要删除
添加两个字段:
做完上面操作 我们还需要去表模型去绑定一下新添加的表
我的是叫这个名字,反正就是和你们数据库名字一样的那个cs类
进行绑定:
然后控制台:
update-database
刷新数据库 即可看见新添加的表
来源:https://blog.csdn.net/qq_46874327/article/details/119698933
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
谈C# using的用法与好处
基于spring中的aop简单实例讲解
![](https://img.aspxhome.com/file/2023/9/75449_0s.png)
springboot使用单元测试实战
java8新特性 stream流的方式遍历集合和数组操作
![](https://img.aspxhome.com/file/2023/0/60790_0s.jpg)
Java中的synchronized关键字
java实现打砖块游戏算法
springboot实现注册加密与登录解密功能(demo)
![](https://img.aspxhome.com/file/2023/4/77484_0s.png)
Java如何实现http接口参数和返回值加密
Spring Security OAuth 自定义授权方式实现手机验证码
![](https://img.aspxhome.com/file/2023/2/72282_0s.png)
浅谈spring的重试机制无效@Retryable@EnableRetry
![](https://img.aspxhome.com/file/2023/5/62165_0s.jpg)
List调用toString()方法后,去除两头的中括号实例
mybatis中sql语句CDATA标签的用法说明
关于ObjectUtils.isEmpty() 和 null 的区别
![](https://img.aspxhome.com/file/2023/2/66672_0s.jpg)
Java将Word文件转为OFD文件
![](https://img.aspxhome.com/file/2023/7/72627_0s.jpg)
分析SpringBoot的启动原理
![](https://img.aspxhome.com/file/2023/4/69324_0s.png)
java实现文件上传下载
Java实现动态获取图片验证码的示例代码
Java服务限流算法的6种实现
![](https://img.aspxhome.com/file/2023/3/62993_0s.jpg)
解析SpringSecurity自定义登录验证成功与失败的结果处理问题
Hutool开发MapUtil工具类使用示例
![](https://img.aspxhome.com/file/2023/3/63693_0s.jpg)