LINQ(C#)を使用して、一連のSQLLIKEステートメントでSQLINステートメントをエミュレートしようとしています。IQueryable<user>
まだ「フィルタリング」されていないQueryという名前のオブジェクトから始めます。Stack Overflowに投稿し始めたばかりなので、しばらくお待ちください:) ...
ObjectQuery<user> Context = this.Context.users;
IQueryable<user> Query = (IQueryable<user>)Context;
// create a BLANK clone of the FULL list (Query)
var QueryFinal = Query.Where(i => i.ID == 0);
foreach (String Item in userFilter.Name.Contains)
{
// based on the FULL list (Query) return all records that apply to this item & then append results to the final list
QueryFinal = QueryFinal.Concat(Query.Where(i => i.Name.Contains(Item)));
}
return QueryFinal.ToList();
反復ごとに、Query.Whereステートメントで返される結果セットがQueryFinalリストに追加されると思いましたが、何らかの理由で、後続の反復ごとに、以前のすべてのレコードが上書きされているように見えます。最終的なリストに「安全に保管するために保存される」ことになっています。.Unionも試してみましたが、期待した結果にはなりませんでした。返されるように見えるのは最後の結果セットだけであり、追加された結果セットのすべてが一緒になっているわけではありません。誰かが私が間違っていることに気づきましたか?