EFCore——反向工程(6)

一、用数据库表反向生成实体类

1.建表

在这里插入图片描述

2.反向生成的命令

Scaffold-DbContext “server=localhost;uid=sa;pwd=123456;database=LTYHR;” Microsoft.EntityFrameworkCore.SqlServer

二.生成的实体类与DbContext类

1.实体类
在这里插入图片描述
虽然属性正常输出了,但是实体的名字却由T_Persons变为 TPersons,
Dbfirst下有默认生成格式
在这里插入图片描述
现在我们改变实体名为Person,然后再添加一个表Dog,再次执行反向工程
在这里插入图片描述

但会报错
在这里插入图片描述
需要使用添加-Force进行对上一次的覆盖
Scaffold-DbContext “server=localhost;uid=sa;pwd=123456;database=LTYHR;” Microsoft.EntityFrameworkCore.SqlServer -Force
在这里插入图片描述

三、总结

所以当你对一开始反向来的表,实体等更改后的话,在重新反向生成,那么值之前的更改就会失效,这是非常不合理的,所以,有时候不要使用DbFirst。
当在对老项目进行维护时,因为已基本稳定,基本不会发生表的变更,所以可以使用反向,方便。但在新项目最好使用CodeFirst

posted @ 2021-12-19 16:03  有诗亦有远方  阅读(54)  评论(0)    收藏  举报  来源