(实战)WebApi第9讲:筛选+修改数据库中的数据【+第13讲】、EFCore性能优化(IQueryable延迟查询、取消跟踪机制)

一、例子是第8讲的四、6(EFCore的静态化处理 ):分析ToList()

ToList()在下图绿色框内。

二、在没有最终取数据的时候,使用 IQueryable<T> 延迟执行查询

(1)在没有最终取数据的时候,不要使用ToList等方法,因为他们会直接读取数据库        

   First 和 Find 方法会立即执行查询并从数据库中读取数据,而 ToList 和其他类似的方法(如 ToArrayCount 等)也会立即执行查询,但它们返回的是一个集合。

(2)IQueryable<T> 延迟查询的原理、使用方法、作用

1>原理

1)IQueryable<T>是一个泛型接口,它允许你构建查询但不立即执行它。
2)查询的实际执行会在你迭代 IQueryable 对象(如通过 ToListFirst 等方法)或访问某些属性(如 Count)时发生。

2>使用方法

1)使用.where,一直在拼接sql语句,并没有执行。(因为.where返回的类型也是IQueryable)
2)在最终取数据的时候,使用ToList等这些方法执行sql语句。

3&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴同学·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值