为了账号安全,请及时绑定邮箱和手机立即绑定

关于EF 的数据库操作执行时间

关于EF 的数据库操作执行时间

ITMISS 2018-11-21 12:11:54
情景如下:做一新闻查询(根据新闻分类CategoryID),using(var con = new Context()){  //do}如果分类为0,那么查询全部,如果分类不为0,那么就根据分类去查询。1、var news = db.news;2、var news = db.news.where(n=>n.cateid=categoryid).tolist() 三个问题,1、如何将2个查询合并为一个方法,使用参数去区分。2、如果根据参数去匹配,是否是像这个写法:var news = db.newsif(cateid!=0){  news = news.where(n=>n.cateid=categoryid).tolist()}3、这种情况下,if之前的语句是否是查询所有数据,我这里想要问的是,EF是在什么时候去数据库里边查数据,我担心 在 if之前它会先去查询所有匹配数据,然后到if里边再去筛选,这样会影响性能。
查看完整描述

2 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

在为实体写的Service里可以用方法重载来解决函数多签名的问题。一般情况下linq查询数据集,不是即时加载的。

查看完整回答
反对 回复 2018-11-25
  • 2 回答
  • 0 关注
  • 249 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信