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

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

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

阿晨1998 2018-08-02 05:14:52
情景如下:做一新闻查询(根据新闻分类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 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

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

查看完整回答
反对 回复 2018-08-06
  • 2 回答
  • 0 关注
  • 871 浏览

添加回答

举报

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