Content management system Kentico文档查询API始终返回空结果

Content management system Kentico文档查询API始终返回空结果,content-management-system,kentico,Content Management System,Kentico,我有以下疑问: var newsItems = tree.SelectNodes() .Types(pageTypesArray) .Path(path) .OrderBy(orderBy) .CombineWithDefaultCulture(false) .Page(page, count) .OnCu

我有以下疑问:

var newsItems = tree.SelectNodes()
                .Types(pageTypesArray)
                .Path(path)
                .OrderBy(orderBy)
                .CombineWithDefaultCulture(false)
                .Page(page, count)
                .OnCurrentSite()
                .NestingLevel(-1)
                .Culture(CurrentDocument.DocumentCulture)
                .InCategories(categories)
                .TopN(topN)
                .Where("ListableDocumentImage is not null AND ListableDocumentImage != ''")
                .Columns(columns);
也就是说:

WITH AllData AS 
(
    SELECT  TOP 6 * for brevity, ROW_NUMBER() OVER (ORDER BY [NewsOccurrenceDate] DESC) AS [CMS_RN] 
FROM View_CMS_Tree_Joined AS V WITH (NOLOCK, NOEXPAND) INNER JOIN SOS_News AS C WITH (NOLOCK) ON [V].[DocumentForeignKeyValue] = 
[C].[NewsID] AND V.ClassName = N'News' LEFT OUTER JOIN COM_SKU AS S WITH (NOLOCK) ON [V].[NodeSKUID] = [S].[SKUID] 
WHERE [NodeSiteID] = @NodeSiteID AND (([DocumentCanBePublished] = 1 AND ([DocumentPublishFrom] IS NULL OR [DocumentPublishFrom] <= @Now) 
AND ([DocumentPublishTo] IS NULL OR [DocumentPublishTo] >= @Now)) 
AND [NodeAliasPath] LIKE @NodeAliasPath AND [DocumentCulture] = @DocumentCulture 


**AND 0 = 1)** <<<------------------- WHERE DID THIS COME FROM?????
) 
SELECT  *, (SELECT COUNT(*) FROM AllData) AS [CMS_TOT] 


FROM AllData 
WHERE CMS_RN BETWEEN 4 AND 6 
ORDER BY CMS_RN

以前有人遇到过这样的事情吗?我不明白他们为什么在where子句中使用AND 0=1。

正确构造文档API调用将有助于解决这一问题。在查询结果中,您可以看到WHERE条件甚至没有被添加,因此它确实会改变被调用方法的顺序

例如:

var newsItems = tree.SelectNodes()
                .Types(pageTypesArray)
                .Path(path)
                .Where("ListableDocumentImage is not null AND ListableDocumentImage != ''")
                .TopN(topN)
                .OrderBy(orderBy)
                .CombineWithDefaultCulture(false)
                .Page(page, count)
                .NestingLevel(-1)
                .Culture(CurrentDocument.DocumentCulture)
                .InCategories(categories)
                .OnCurrentSite()
                .Columns(columns);

有趣的是,删除InCategories调用并将其添加到where语句中删除了0=1部分。我没有看到有关订单的文档中提到它。这是一个普通的lync问题吗?对于我和Kentico来说,分类是一个非常棘手的问题,从Web部件和API的角度来看,分类似乎不是很友好。不确定LINQ与否,但知道顺序对于Kentico API很重要