左连接是否排除了EF6查询计划缓存?

时间:2016-01-14 15:50:00

标签: c# entity-framework linq

关于EF性能考虑的

This post声明:

  

Skip(),Take(),Contains()和DefautIfEmpty()LINQ运算符   不生成带参数的SQL查询,而是放置值   作为常量传递给他们。因此,查询可能   两者都是相同的最终污染查询计划缓存,两者都打开   EF堆栈和数据库服务器,并没有得到重用   除非在后续查询执行中使用相同的常量。

我主要使用function msieversion() { var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); return msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./) ? true : false; } if(msieversion()){ // I added a #myselect ID to the element, but if you don't want to, // you can still get to the element using another JS selector var element = document.getElementById('myselect'); element.style.width = '25px'; element.style.marginLeft = '-7px'; } 作为获取EF生成LEFT JOIN查询的方法。这是否意味着使用DefaultIfEmpty()的任何包含手动LEFT JOIN的查询(EF也会为某些导航属性用法生成LEFT JOIN)都不会受益于缓存?有没有解决方法?

0 个答案:

没有答案