C# 将SQL重写为FluentNHibernate

C# 将SQL重写为FluentNHibernate,c#,sql,sql-server,nhibernate,fluent-nhibernate,C#,Sql,Sql Server,Nhibernate,Fluent Nhibernate,我正在将NHibernate 3.3.1.4000和FluentNHibernate 1.3.0.733与SQL Server 2012一起使用,我需要将查询重写到IQueryOver,以便在服务器端执行此计算,而无需调用存储过程 WITH CTE_Links AS ( SELECT Article1, MIN(Article2) Article2 FROM dbo.LinkBetweenArticles GROUP BY Article1 HAVING Art

我正在将
NHibernate 3.3.1.4000
FluentNHibernate 1.3.0.733
SQL 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
如果需要,可以阅读脚本说明 据我所知,不可能使用本机IQueryOver API来实现这一点。我想您可以将此CTE查询用作自定义查询。您可以通过以下链接找到解决方案