【问题标题】:Rewrite SQL to FluentNHibernate将 SQL 重写为 FluentNHibernate
【发布时间】:2013-06-16 16:25:31
【问题描述】:

我将NHibernate 3.3.1.4000FluentNHibernate 1.3.0.733SQL Server 2012 一起使用,我需要将查询重写为IQueryOver 以在服务器端执行此计算,而无需调用存储过程。

WITH CTE_Links AS 
(
    SELECT Article1, MIN(Article2) Article2
    FROM dbo.LinkBetweenArticles
    GROUP BY Article1
    HAVING Article1 > MIN(Article2)
)

SELECT COUNT(*)
FROM dbo.ArticlePlacedBySeller a
LEFT JOIN CTE_Links l ON a.Id = l.Article1
WHERE l.Article2 IS NULL 
AND ConfirmedPosition_Id = 1000

如果需要可以阅读脚本说明here

【问题讨论】:

    标签: c# sql sql-server nhibernate fluent-nhibernate


    【解决方案1】:


    据我所知,不可能使用本机 IQueryOver API 来实现这一点。恕我直言,您可以将此 CTE 查询用作自定义查询。您可以通过链接http://refactoringaspnet.blogspot.com/2011/04/using-common-table-expressions-to.html找到解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多