私は、文字列の配列をとるクエリ式を持っており、クエリに基づいていくつかのアイテムを返すクエリを生成する必要があります。しかし、何も返さない。私は閉鎖の問題があると思うが、私はそれが何であるか分からない。 クエリ式のクロージャ
public static Expression<Func<Item, bool>> IsKnownByIn(string[] query)
{
var i = PredicateBuilder.True<Item>();
foreach (string keyword in query)
{
string temp = keyword;
i = i.And(p=> p.Name.Contains(temp) || p.ID.ToString().Contains(temp));
}
return i;
}
は、私は、クエリ内の唯一の最後の文字列が返されることになり.Contains(キーワード)で.Contains(TEMP)を交換してみました。さらに、i.Andをi.Orに置き換えると、すべての項目(問合せ内の文字列を含まない項目も含む)が戻されます。問題が隠れている可能性のあるアイデアはありますか?あなたがまたはをしようとしたとき
クエリ内のすべてのキーワードまたは少なくとも1つのキーワードと一致するアイテムに一致するアイテムを返すようにしますか? – hatchet
少なくとも1つのキーワード – tehdoommarine