将SQL重写为FluentNHibernate
本文关键字:FluentNHibernate 重写 SQL | 更新日期: 2023-09-27 18:18:33
我使用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查询用作自定义查询。您可以通过链接http://refactoringaspnet.blogspot.com/2011/04/using-common-table-expressions-to.html找到解决方案。