【问题标题】:How can I generate this special query by LINQ? [duplicate]如何通过 LINQ 生成这个特殊查询? [复制]
【发布时间】:2012-09-17 02:45:33
【问题描述】:

可能重复:
Need a linq to generate itself join

根据这篇文章 Why does MYSQL higher LIMIT offset slow the query down? 和这篇文章 http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/ 我需要一个 linq 来创建下面的查询

SELECT  news.*
FROM    (
        SELECT  id
        FROM    news
        WHERE   cat_id= x
        ORDER BY
                id DESC
        LIMIT m, n
        ) o
JOIN    news
ON      news.id = o.id

【问题讨论】:

  • 为什么你不能“从新闻中选择 * from news where cat__id = x order by id desc limit m,n” .. 为什么要双重查询?
  • @BugFinder 请阅读这篇文章explainextended.com/2009/10/23/…
  • 无法从工作中查看:p - 因此评论我能看到的内容
  • 请不要只重复一个问题!改进第一个。

标签: mysql linq join


【解决方案1】:

好的,我试过了……

var res =
    from item in 
        (from newsItem in news
        where newsItem.cat_id = x
        select newsItem.id).Skip(m).Take(n)

    join other in news
    on other.id equals item.id

    select item

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2016-07-05
    • 2011-01-17
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多