collection.GetMulti(filter, 0, sorter, relations, path, 1, 10);
生成的 SQL:
SELECT
...
FROM
((((
[NewsDB].[dbo].[Article]
INNER JOIN [NewsDB].[dbo].[OnlineArticle] ON [NewsDB].[dbo].[Article].[ArticleID] = [NewsDB].[dbo].[OnlineArticle].[OnlineArticleID]
)
INNER JOIN [NewsDB].[dbo].[CategoryOnlineArticle] ON [NewsDB].[dbo].[OnlineArticle].[OnlineArticleID] = [NewsDB].[dbo].[CategoryOnlineArticle].[OnlineArticleID]
)
INNER JOIN [NewsDB].[dbo].[Category] ON [NewsDB].[dbo].[Category].[CategoryID] = [NewsDB].[dbo].[CategoryOnlineArticle].[CategoryID]
)
LEFT JOIN [NewsDB].[dbo].[OldOnlineArticle] ON [NewsDB].[dbo].[OnlineArticle].[OnlineArticleID] = [NewsDB].[dbo].[OldOnlineArticle].[OnlineArticleID]
)
WHERE
(
(
(
[NewsDB].[dbo].[Article].[IsDeleted] = @p1
AND [NewsDB].[dbo].[Article].[IsArchive] = @p2
AND [NewsDB].[dbo].[Article].[NavigateType] = @p3
AND [NewsDB].[dbo].[Article].[Status] = @p4
AND [NewsDB].[dbo].[OnlineArticle].[IsOnlinePublished] = @p5
AND [NewsDB].[dbo].[OnlineArticle].[OnlinePublishDateUtc] <= @p6
)
AND [NewsDB].[dbo].[OnlineArticle].[SiteNewsPortalID] = @p7
AND [NewsDB].[dbo].[Category].[IsDeleted] = @p8
AND [NewsDB].[dbo].[Category].[IsEnable] = @p9
AND [NewsDB].[dbo].[Category].[CategoryType] = @p10
AND [NewsDB].[dbo].[Category].[CategoryID] = @p11
)
AND ( [NewsDB].[dbo].[OnlineArticle].[OnlineArticleID] IS NOT NULL ))
ORDER BY
[NewsDB].[dbo].[OnlineArticle].[RefreshDateUtc] DESC,
[NewsDB].[dbo].[OnlineArticle].[OnlinePublishDateUtc] DESC
我在生成的 SQL 中没有看到 OFFSET xxx FETCH xxx。
我还将兼容级别设置为SqlServerCompatibilityLevel.SqlServer2005
.
如何使 OFFSET xxx FETCH 在生成的 SQL 中可用?请帮忙。