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();
このクエリは、赤や青や青を含む名前を含むキーワードを含む赤や名前を含むキーワードを持っている任意のデザインを引き戻すことになっています。
現在、このシナリオでは、最初の述語は無視され、青の値が返されます。あなたの助け、 ビリー
はいいえ、私はいくつかのバリエーションではなく、それを試してみました
広がる。私はそれを打ち、あなたに知らせるでしょう。返信いただきありがとうございます。 –これは正しい方向に私をさらに動かすように見えますが、何らかの理由でキーワードが空で、名前にまだ「赤」が含まれていればそのレコードは返されませんか? –
最後のコメントを無視してください。 –