天天躁日日躁狠狠躁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語句,轉載需保留來源!

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

主站蜘蛛池模板: 久久欧洲AV无码精品色午夜麻豆 | 一二三四在线视频社区8 | 女人高潮特级毛片 | 国产成人免费在线 | 国产精品嫩草影视在线观看 | 9277高清在线观看视频 | 亚洲合集综合久久性色 | 久久99热狠狠色AV蜜臀 | 亚洲精品高清视频 | 激情内射亚州一区二区三区爱妻 | 亚洲精品AV一区午夜福利 | 婷婷射精AV这里只有精品 | 国产精品第一综合首页 | 青青草视频在线ac | 久久亚洲精品AV成人无 | 99九九精品国产高清自在线 | 果冻传媒9CM在线观看 | 扒开美女下面粉嫩粉嫩冒白浆 | 亚洲免费在线视频 | 亚洲人成在线播放无码 | 亚洲国产AV无码综合在线 | beeg xxx日本老师| 国产在线观看成人 | 久久99免费视频 | 亚洲国产在线午夜视频无 | 国产成人无码精品久久久影院 | 人性本色联盟 | 正在播放黑人杂交派对卧槽 | 最新无码国产在线视频9299 | 久久人人玩人妻潮喷内射人人 | 天津相声广播在线收听 | 男欢女爱免费视频 | 含羞草国产亚洲精品岁国产精品 | brazzers欧美最新版视频 | 用快播看黄的网站 | 蜜芽视频在线观看视频免费播放 | 亚洲AV精品无码喷水直播间 | 邪恶肉肉全彩色无遮盖 | 天天躁夜夜踩很很踩2022 | 欧美兽交YOYO | 嫩草影院精品视频在线观看 |