四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

看看Entity Framework 4生成的復雜的分頁SQL語句

  之前發現Entity Framework 4生成的COUNT查詢語句問題,今天又發現它生成的分頁SQL語句問題,而LINQ to SQL卻不存在這個問題。

  >>> 來看一看,瞧一瞧!

  上代碼:

  看生成的SQL語句:

  1. Entity Framework生成的SQL:

  一個TOP,三個FROM。

  2. LINQ to SQL生成的SQL:

  無TOP,兩個FROM。

  兩者的差距一目了然。

  >>> 再來看一個:

  將上面代碼中Where的查詢條件改為常量,即Where(coder => coder.Age > 20),見下圖:

  然后看看生成的SQL。

  1. Entity Framework生成的SQL:

  明顯不一樣吧(顏色),實際上只是少了個exec sp_executesql,但會帶來性能影響(sp_executesql will use cached plan to get more performance, 這里談到了這個問題)。

  2. LINQ to SQL生成的SQL與之前的一樣。

  Entity Framework考慮了多數據庫支持、存儲過程支持,卻忽視了這個地方。

  從LINQ to SQL的DataContext到Entity Framework的ObjectContext,然后又發布ADO.NET Entity Framework Feature CTP5搞了個DbContext,DbContext也沒有解決這個問題,感覺微軟的思路有些亂。

  目前看來,如果用Entity Framework 4,并在乎性能,只有兩個選擇:1. 不用LINQ to Entities,自己寫SQL或存儲過程;2. 自己寫個Entity Framework ADO.NET provider for SQL Server 。

  更新:從執行計劃來看, Entity Framework生成的SQL似乎對性能沒什么影響。 

  補充:

  兩個SQL的執行計劃比較:

  a) Entity Framework生成的SQL:

  b) LINQ to SQL生成的SQL:

NET技術看看Entity Framework 4生成的復雜的分頁SQL語句,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 内蒙古电视台| 局中局演员表| 谢承均| 林海雪原演员表| 教学评一体化课题研究| 里番在线看| 四川地图旅游地图| 11.27| 山西电视台直播在线观看| 风间电影正版免费观看| 村上信五| 李彦萱| 秋霞影视| 广西都市频道节目表| 《父亲的爱》阅读理解答案| 视频三级| 贾宏| 女演员佟欣简介| 江南好简谱| 红灯区未删减版| 少年电视剧| 局内人电影完整版| 崔在焕| 苏晓电视剧叫什么名字的| 谢予望| 龚子棋| 什么水果是热性的| 我记得你| (一等奖)班主任经验交流ppt课件| 有完没完电影| teen| 浙江卫视节目在线观看直播| 易烊千玺是哪里人| intel集成显卡天梯图| 李采潭和闵度允| 焊缝外观质量检验标准 | 少爷和我短剧| 抖音视频怎么下载| 林柒予| 电影偿还| 斯科|