2016-12-12 3 views
0

次のクエリがあります。一致するものが見つからない場合はすべての結果を返します。誰かが私が間違っているのを見ることができますか?検索で一致する結果が見つからない場合、Linqクエリはすべての行を返します

var searchResults = (from gId in dc.tbl1 
    join data in dc.tbl2 on gId.ID equals data.UserId into joinTbls 
    from data in joinTbls.DefaultIfEmpty() 
    where (data.OrderId == orderId) || 
     (data.CardHolderName == cardHolderName) || 
     (gId.Email == emailAddress) || 
     (gId.FirstName == firstName) || 
     (gId.LastName == lastName) || 
     ((IdGuid == null || gId.ID == IdGuid)) 

は、私はそれがに何か持っていると思う:

from data in joinTbls.DefaultIfEmpty() 

をしかし、私はそれを解決するかどうかはわかりません。

+3

を助けた

グラッド(& &)と交換してみてください "AND"? –

+1

これは、Where句に "OR"(||)があるためです。 – BMaximus

+0

はい、しかし、それはtbl1からレコードを返す –

答えて

0

IMOこれは、Where句に "OR"(||)があるためです。それは)あなたが(DefaultIfEmptyを削除してみました

関連する問題