【问题标题】:Need help translating this query to NHibernate Criteria需要帮助将此查询转换为 NHibernate 标准
【发布时间】:2013-08-25 13:20:14
【问题描述】:

有人可以帮我把这个查询翻译成 NHibernate Criteria 吗?还是标准不适合这个?

查询:

SELECT b.*
 FROM Bookmarks b
 JOIN (SELECT tg.BookmarkId
        FROM TagsBookmarks tg
        JOIN Tags t ON t.id = tg.TagId
        WHERE t.Title IN ('c#','tutorials')
      GROUP BY tg.BookmarkId
        HAVING COUNT(DISTINCT t.Title) = 2) x ON x.BookmarkId = b.Id

【问题讨论】:

    标签: sql nhibernate orm


    【解决方案1】:

    Hibernate 不允许在 from 子句中使用子查询。你可以改用in 重写它:

    SELECT b.*
    FROM Bookmarks b
    where b.id in (SELECT tg.BookmarkId
                   FROM TagsBookmarks tg JOIN
                        Tags t
                        ON t.id = tg.TagId
                   WHERE t.Title IN ('c#','tutorials')
                   GROUP BY tg.BookmarkId
                   HAVING COUNT(DISTINCT t.Title) = 2
                  )
    

    【讨论】:

    猜你喜欢
    • 2020-05-11
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多