Dotnetnuke 如何在2sxc可视化查询中使用文本字段而不是实体字段的RelationshipFilter?
我正在尝试做与标题“查询其他字段的关系属性”下相同的操作。 我正在编辑博客应用程序可视化查询。 所以我有RelationshipFilter,它通过Dotnetnuke 如何在2sxc可视化查询中使用文本字段而不是实体字段的RelationshipFilter?,dotnetnuke,2sxc,dnn9,Dotnetnuke,2sxc,Dnn9,我正在尝试做与标题“查询其他字段的关系属性”下相同的操作。 我正在编辑博客应用程序可视化查询。 所以我有RelationshipFilter,它通过Default获取类型为Category的实体。我想按字段Name过滤它们。在这里,我可以从params或post及其类别列表中获得名称列表。据我所知,那不是问题 因此,名称必须是实体类型。我现在正在努力使用这个过滤器,因为我想通过简单文本类型的字段名称来过滤类别。这意味着我在关系属性中没有要指定的内容EntityTitle或仅为空的关系属性字段不起
Default
获取类型为Category
的实体。我想按字段Name
过滤它们。在这里,我可以从params或post及其类别列表中获得名称列表。据我所知,那不是问题
因此,名称
必须是实体类型。我现在正在努力使用这个过滤器,因为我想通过简单文本类型的字段名称来过滤类别
。这意味着我在关系属性
中没有要指定的内容EntityTitle
或仅为空的关系属性
字段不起作用并导致错误请求
错误。那么有没有办法让它发挥作用呢
p.S.ValueFilter
不是一个选项,因为它不支持在没有满足条件的项目时不返回任何内容,而且它只支持按项目的属性进行筛选,包含值
,并且值
不能包含任何带有分隔符的属性中的选项。RelationshipFilter仅用于关系(项目与项目)-您似乎想要进行字符串比较
我不确定你应该做什么,因为我没有上下文,但如果事情变得非常特殊,最好使用LINQ。请在此处查看LINQ教程:LINQ适用于页面上已有代码隐藏数据的情况。我想在数据库级别应用过滤器。例如,我想获取所有在Title
属性中包含“word”或“debug”的帖子。所以我会在过滤器中指定“word,debug”,在关系字段中指定“Title”,逗号分隔符和运算符containsany
,但我不需要关系属性,因为我需要项本身,因为据我所知,项是字符串,在可视化查询中没有任何属性。ValueFilter不是一个选项,因为,例如,它不允许获取标题为“word”和“来自筛选器的另一个”的帖子“word,debug”使用linq paging不会加快网站的工作,因为每个页面都会检索所有帖子,以便应用过滤和排序。我很困惑你想做什么-基本上我根本不理解“word,debug”。你能举个具体的例子吗?我很确定这应该很容易实现-可能使用2-3个令牌。顺便说一句:所有2sxc数据都缓存在web服务器的内存中。所以VisualQuery和LINQ做了同样的事情,只是VisualQuery有额外的优化,并且更易于在许多场景中使用。所以它的值是用逗号分隔的单词列表。假设我需要得到一个帖子列表,在标题中包含这些单词。例如,标题“word和另一个”和“正在调试”都满足此条件。然后我会申请分页。看起来很简单,但在当前的可视化查询功能中,我看不到它的解决方案。看起来它必须在razor页面中的代码中完成。