2017-03-02 9 views
0

データベーステーブルを検索するこのコードを記述しようとしていますが、複数の列を検索しようとしています。私は以下のWHERE column = "this" AND column2 = "this"と同等ですが、これはWHERE column = "this" OR column2 = "this"です。ASP.NET IQueryable WHERE OR

query = query.Where(p => (p.ChckNumber.ToString()).Contains(globalSearch.ToString())); 
        query = query.Where(p => (p.BankAccount.ToString()).Contains(globalSearch.ToString())); 
        query = query.Where(p => (p.Description.ToString()).Contains(globalSearch.ToString())); 
        query = query.Where(p => (p.CheckAmount.ToString()).Contains(globalSearch.ToString())); 
        query = query.Where(p => (p.ClearedDate.ToString()).Contains(globalSearch.ToString())); 
        query = query.Where(p => (p.SentDate.ToString()).Contains(globalSearch.ToString())); 
+0

あなたがこの記事を見たことがあります:http://stackoverflow.com/questions/25427485/how-to- use-or-operator-in-linq-where-statement –

+1

[LINQ WHEREステートメントでOR演算子を使用する方法]の可能な複製(http://stackoverflow.com/questions/25427485/how-to-use-or-operator -in-linq-where-statement) – Igor

答えて

0

あなたはOR演算子を使用してインラインでこれを行うことができるはずは:

query = query.Where(p => 
    p.ChckNumber.ToString().Contains(globalSearch.ToString()) || 
    p.BankAccount.ToString().Contains(globalSearch.ToString()) || 
    p.Description.ToString().Contains(globalSearch.ToString()) || 
    p.CheckAmount.ToString().Contains(globalSearch.ToString()) || 
    p.ClearedDate.ToString().Contains(globalSearch.ToString()) || 
    p.SentDate.ToString().Contains(globalSearch.ToString()) 
); 
+0

あなたは余分なToString()を持っています – user979331

+0

ありがとう!修正されました。 – GibralterTop

関連する問題