1
술어를 사용해야하는 검색 기능을 구축하는 중입니다. 그러나, 내가 아래의 쿼리를 실행할 때마다 나는 마지막 술어의 결과 만 얻는다. 첫 번째 결과는 포함되지 않습니다. 아래 내 쿼리를 기반으로 누구든지 올바른 방향으로 나를 가리킬 수 있습니다.술어를 사용하는 Entity Framework
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();
이 쿼리는 빨간색이나 이름이 포함 빨간색 또는 키워드 포함 청색 또는 이름이 들어있는 파란색을 포함하는 키워드를 가지고있는 디자인을 철수 할 예정이다.
현재이 시나리오에서는 첫 번째 조건자를 무시하고 파란색 값만 반환합니다. 당신의 도움, 빌리
아니, 내가 몇 가지 변화가 아니라 그것을 시도
퍼져 나갔다. 나는 그것을 한 번 줄 것이고 당신에게 알려줄 것이다. 답장을 보내 주셔서 감사합니다. –이것은 올바른 방향으로 나아가는 것처럼 보이지만, 키워드가 비어 있고 이름에 여전히 'red'가 포함되어 있으면 그 레코드가 반환되지 않습니다. –
마지막 코멘트 무시 ... –