大家好,我是行不更名,坐不改姓的宋晓刚,下面将带领大家进入C#编程EF Core数据库基础入门知识,如何连接数据库,如何编写代码,跟上我的步伐进入EF Core数据库下的世界。
家人们,如果有什么不懂,可以留言,或者加我联系方式,一起进入微软技术的开拓。
在开始使用 EF Core 进行数据库操作之前,通常需要先定义实体类,这些实体类对应数据库中的表。然后,通过迁移(Migrations)来创建或更新数据库结构。
1.0O/RM框架:存放在专门的对象–映射文件,一种框架模式,ORM就是专门用来操作数据库的。
正常访问数据库:
2.0ORM访问数据库解决:
3.0ORM快速上手EFCore
1.0 Dfirst 数据库先行(先创建数据库,在生成相对的实体类)
2.0 CodeFirst 迁移文件,代码先行,只管代码,只关注对象生成数据库(写实体类,通过命令进行数据库同步)
3.1安装3个Nugut包
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
3.2命令执行:
1.0.Net7以下版本执行:
Scaffold-DbContext "Data Source=PC-202206030027;Initial Catalog=CustomerDB;User ID=sa;Password=sa123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
2.0.Net7执行:
Scaffold-DbContext "Data Source=PC-202206030027;Initial Catalog=CustomerDB_EFCORE;User ID=sa;Password=sa123;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
注意:数据库链接字符串中需要加入一个TrustServerCertificate=true,俩个命令不同的方式,是因为多了TrustServerCertificate=true
命令说明:
-OutputDir *** 实体文件所存放的文件目录
-ContextDir *** DbContext文件存放的目录
-Context *** DbContext文件名
-Schemas *** 需要生成实体数据的数据表所在的模式
-Tables *** 需要生成实体数据的数据表的集合
-DataAnnotations
-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)
-Force 强制执行,重写已经存在的实体文件
1.0在Sql server中添加自己需要的数据库,表,以及字段。
2.0创建控制台应用程序,我们这里选择不使用顶级语句,这样Program中会生成主类Program。
3.0安装EF Core的Nugut包。
Microsoft.EntityFrameworkCore
Microsoft.EntityFr