首页新闻找找看学习计划

entity framework where 查询 是否会触发数据库连接

0
[已解决问题] 解决于 2015-04-07 11:21

1、

var promoList= context.OrderPromotions
.Where(p => orderId.Equals(p.OrderId))
.ToList()

 

2、

var promoQ= context.OrderPromotions.Where(p => orderId.Equals(p.OrderId))

var promoList=promoQ.ToList()

 

问题:

1、代码如上,1、2、两种情况,那种会在where执行时立即链接数据库查询数据?

2、在调试的过程中,2、中的代码第一行执行后,发现promoQ中已经存在数据,这里是否已经完成了一次数据查询,并且加载了整个数据表?

Sky.Grain的主页 Sky.Grain | 菜鸟二级 | 园豆:303
提问于:2015-04-07 10:37
< >
分享
最佳答案
1

触发数据库连接的不是.Where,而是.ToList()。

奖励园豆:5
dudu | 高人七级 |园豆:40778 | 2015-04-07 10:48

这个不是ef里面的延迟执行的概念(不是延迟加载)?不知道描述这个现象或情况。

Sky.Grain | 园豆:303 (菜鸟二级) | 2015-04-07 11:01

@Sky.Grain: 我只知道EF有延迟加载,不知道有延迟执行。

dudu | 园豆:40778 (高人七级) | 2015-04-07 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册