首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Tridion content delivery api执行OrCriteria

使用Tridion content delivery api执行OrCriteria
EN

Stack Overflow用户
提问于 2013-03-15 17:30:52
回答 1查看 150关注 0票数 0

我正在将SQL查询转换为broker API功能。该查询基本上是基于键和值过滤器检索自定义元数据。问题是,当我使用或条件连接两个条件时,query.executequery将永远占用,并且控制永远不会返回。我使用的代码如下所示

代码语言:javascript
复制
        PublicationCriteria pubCriteria = new PublicationCriteria(80);

        //1st query
        CustomMetaKeyCriteria keyCriteria1 = new CustomMetaKeyCriteria("PublicationType");

        CustomMetaValueCriteria valueCriteria11 = new CustomMetaValueCriteria("Report", Criteria.Like);
        CustomMetaValueCriteria valueCriteria12 = new CustomMetaValueCriteria("Video", Criteria.Like);
        Criteria valueCriteria1 = CriteriaFactory.Or(valueCriteria11, valueCriteria12);
        Criteria criteria1 =CriteriaFactory.And(keyCriteria1, valueCriteria1);

        //2nd query

        CustomMetaKeyCriteria keyCriteria2 = new CustomMetaKeyCriteria("Tags");

        CustomMetaValueCriteria valueCriteria21 = new CustomMetaValueCriteria("tcm:80-20641", Criteria.Equal);
        CustomMetaValueCriteria valueCriteria22 = new CustomMetaValueCriteria("tcm:80-20645", Criteria.Equal);
        Criteria valueCriteria2 = CriteriaFactory.Or(valueCriteria21, valueCriteria22);
        Criteria criteria2 =  CriteriaFactory.And(keyCriteria2, valueCriteria2);


        Criteria querycriteria = CriteriaFactory.Or(criteria1, criteria2);
        Criteria finalCriteria = CriteriaFactory.And(pubCriteria, querycriteria);
        Query query = new Query(criteria2);
        query.SetResultFilter(new LimitFilter(10));
        var n = query.ExecuteQuery();

我尝试使用新的orcriteria并将条件作为数组传递,但同样不起作用。

EN

回答 1

Stack Overflow用户

发布于 2014-02-13 01:45:19

几周前,我试过同样的方法,它对我很有效。我已经把我的发现放在这里了。http://vadalis.com/custom-meta-query-from-tridionbroker-database/

注意:我的代理数据库非常小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15428801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档