EFCore数据的增删改查EFCore的实体类配置

EFCore数据的增删改查

一.数据的插入(把数据插入到Dogs表)

 

添加数据在Program.cs中操作 

 

 2.查询数据(查询时就不需要 await ctx.SaveChangesAsync();这个语句了),在Main方法中执行即可

 用single语句查询

 3.修改数据

修改数据和删除数据,都要分2步,第一步就是把数据查出来,然后在修改或者删除

4.删除数据

 

二.EFCore的实体类配置

1.作为ORM框架,EFCore要完成实体类对象和数据库中数据关系的映射,也就是实体类与数据库表的映射,以及实体类的属性与数据库表的列的映射。

2.约定大于配置 

EFCore中也是采用约定大于配置的原则,EFCore会默认按照约定根据实体类以及DbContext的定义类实现和数据库表的映射配置,除非我们显示指定了配置规则,比如上一篇的ToTable("T_Books")

EFCore中的默认的规则约定有很多,这里只列出一些主要的约定规则

1.数据库表名采用上下文类中对应的DbSet的属性名

2.数据库表列的名字采用实体类属性的名字,列的数据类型采用和实体类属性类型兼容的类型

3.数据可表列的可空性取决于对应实体类的属性的可空性。EFCore6中支持C#中的可空引用类型

4.名字为Id的属性为主键,如果主键为short,int或者long类型,则主键默认采用自动增长类型的列

三.Data Annotation和Fluent API

Data Annotation通过注释的方式来实现实体类的配置eg[Table("T_Books")]把实体类对应的表名设置为T_Books。[Required]是把属性对应的数据库表列配置为不可空

Fluent API能够进行很好的分离他是在配置文件中写

 

 四.Fluent API有很多配置这里只举例索引

在配置文件里编写

 然后在程序包管理控制台中输入

1.Add-Migration AddIndexToBook(自定义有意义的名字)

2.Update-Database

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值