ef 查询where后执行singleordefault与singleordefault中写lamb

2019-11-12 20:01发布

问题:

Entityframework 执行条件查询的写法:
先执行where(lambda)之后再singleOrDefault
与singleordefault(lambda)哪一种方法效率更高,本人测试的再where条件多且数据量大的时候先执行where后再取singleOrdefault要比再singleOrdefault中写lambda表达式效率高很多,求解哪种方式更好,效率更高

回答1:

没理由的.应该是要一模一样的.
我觉得问题可能出在single的问题.你用first应该是没有区别的.



回答2:

你把sql打出来看就很清楚了啊,明显尽量一次行搞定效率最高。FirstOrDefault里面尽量直接条件组合就行了,然后先判断简单类型,字宽越宽的放更后面,这样最节约。