Я нахожусь в процессе создания поиска, который требует использования предикатов.Однако всякий раз, когда я запускаю приведенный ниже запрос, я продолжаю получать только результаты последнего предиката.Результаты первого не включены.Исходя из моего запроса ниже, любой может указать мне правильное направление.
var _predicate = PredicateBuilder.False<TBLDESIGN>();
_predicate = _predicate.Or(a => (a.KEYWORDS.Contains('red') || a.NAME.Contains('red')));
_predicate = _predicate.Or(a => (a.KEYWORDS.Contains('blue') || a.NAME.Contains('blue')));
var results = dbContext.TBLDESIGN
.Include(s => s.TBLCOLLECTION)
.Include(s => s.LKPRICE)
.Include(s => s.TBLDESIGNER)
.AsExpandable().Where(_predicate)
.OrderByDescending(s => s.DATE_APPROVED)
.Select(s => new
{
s.ACTIVE,
s.DATE_CREATED,
s.EXPORTED,
s.IMAGE_PATH,
DesignId = s.ID,
s.IS_APPROVED,
s.TBLDESIGNER.FIRST_NAME,
s.TBLDESIGNER.LAST_NAME,
s.TBLDESIGNER.ALIAS,
s.NAME,
s.LKPRICE.PRICE,
s.COMPLETED,
s.DATE_APPROVED,
DesignerId = s.TBLDESIGNER.ID,
s.VIEW_COUNT
}).ToList();
Предполагается, что этот запрос возвращает все дизайны, содержащие ключевое слово, содержащее красный или имя, содержащее красный, или ключевое слово, содержащее синий, или имя, содержащее синий.первый предикат и просто возвращает синие значения.
Спасибо за помощь, Билли