天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

看看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語句,轉載需保留來源!

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

主站蜘蛛池模板: 午夜人妻理论片天堂影院 | 最近最新的日本字幕MV | 狠狠色丁香久久婷婷综合_中 | 亚洲视频免费 | 国产午夜精AV在线麻豆 | 天天躁日日躁狠狠躁AV麻豆 | 国产麻豆精品人妻无码A片 国产麻豆精品久久一二三 国产麻豆精品传媒AV国产在线 | 亚洲免费三区 | 51国产午夜精品免费视频 | 亚洲精品国产乱码AV在线观看 | 日韩中文亚洲欧美视频二 | 中文字幕亚洲欧美在线视频 | 国产乱码卡二卡三卡4W | 早乙女由依在线观看 | 久久精品国产亚洲AV未满十八 | 99久久精品费精品国产一区二 | 伊人香蕉在线播放视频免费 | 87.6在线收听 | 无人区尖叫之夜美女姐姐视频 | 国产精品爽爽久久久久久蜜桃 | 色欲AV精品人妻一区二区三区 | 丰满大爆乳波霸奶 | 天堂视频在线观看免费完整版 | 国产精品久久久久婷婷五月色婷婷 | jlzz中国jizz日本老师水多 | 日韩高清毛片 | 久久久无码精品亚洲欧美 | 美娇妻的性奴史1一4 | 97成人在线 | 亚洲 欧美 视频 手机在线 | 热久久2018亚洲欧美 | 亚洲精品国产自在在线观看 | 国产免费变态视频网址网站 | 涩涩游戏盒 | 国产精品99久久久久久AV蜜臀 | 久久99亚洲热最新地址获取 | 第四色男人天堂 | 草莓视频cm.888tw | 久久久乱码精品亚洲日韩 | 婷婷亚洲五月色综合久久 | 国产精品丰满人妻AV麻豆 |