Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OrCriteria使用Tridion内容交付api永远执行_Tridion_Tridion Content Delivery - Fatal编程技术网

OrCriteria使用Tridion内容交付api永远执行

OrCriteria使用Tridion内容交付api永远执行,tridion,tridion-content-delivery,Tridion,Tridion Content Delivery,我正在将SQL查询转换为代理API功能。查询基本上检索基于键和值过滤器的自定义元数据。问题是当我使用或条件连接两个条件时,query.executequery会花费很长时间,并且控件永远不会返回。我使用的代码如下所示 PublicationCriteria pubCriteria = new PublicationCriteria(80); //1st query CustomMetaKeyCriteria keyCriteria1 = new

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

        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并将标准作为数组传递,但这也不起作用。

几周前,我也尝试过同样的方法,它对我有效。我把我的发现放在这里


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

请使用Tridion提问。对不起,事实上,几周前我试图在Tridion.stackexchage.com上提问,但无法发布问题,但现在它允许我提问。将来我会在tridion.stackexchange上提问。直到本周早些时候,它还处于私人测试阶段。