0

Извините, если на это уже был дан ответ, я новичок в приложениях SPA с Durandal, Knockout и BreezeJS - Entity Framework и совершенно новый для Stackoverflow. Ниже приведен код, который дает ошибку. P2 - это новая строка кода, которую я добавил. Если этот предикат удален, запрос работает нормально. Но мне нужен этот запрос, чтобы также фильтровать расширенную таблицу ideaComments.SPA - BreezeJS - Entity Framework - ошибка с предикатом

var p1 = breeze.Predicate.create('ideaId', 'eq', ideaId); 
    var p2 = breeze.Predicate.create('ideaComments.isAdminComment', '==', false); 
    var predicate = breeze.Predicate.and([p1, p2]); 

    var query = EntityQuery.from('Ideas') 
     .expand(['ideaComments', 'ideaStatus']) 
     .where(predicate); 

Ошибка, которая в настоящее время дано следующим образом:

Ошибка retreiving данных. Родительское значение для доступа к свойствам свойства IsAdminComment не является единственным значением. Доступ к свойствам может применяться только к одному значению.

Заранее благодарю за любую помощь. :-)

ответ

2

предполагая идею имеет 0..n идеи-комментарии, вы должны будете использовать the any/all filter operator так:

var p2 = breeze.Predicate.create('ideaComments', 'any', 'isAdminComment', '==', false); 

или это:

var p2 = breeze.Predicate.create('ideaComments', 'all', 'isAdminComment', '==', false); 
+0

спасибо много для быстрого ответа, очень признателен. Я пробовал оба примера и, к сожалению, не работал. Использование «все» не принесло никаких записей и использовало «any», чтобы вернуть все записи, как если бы предикат не был даже там. В обоих случаях я не видел никаких генерируемых сообщений об ошибках, очень странных. Я все еще изучаю, но пока не нашел решения. –

+0

интересная разработка ... по мере того как я изучал, я наткнулся на то, как вы можете использовать FilterQueryOp.Any или FilterQueryOp.All, и это породило ошибку: Reference Error: FilterQueryOp не определен. Вы случайно знаете, что может вызвать это, и может быть поэтому почему использование «любого» или «все» не распознается? –

+0

, кстати, вот как выглядят параметры строки запроса в заголовках ответов: –

Смежные вопросы