0
Ich habe die folgende Abfrage, Problem ist es gibt alle Ergebnisse zurück, wenn keine Übereinstimmung gefunden wird. Kann jemand sehen, wo ich falsch liege?Linq Abfrage gibt alle Zeilen zurück, wenn die Suche keine übereinstimmenden Ergebnisse hat
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))
Ich denke, es ist etwas mit dem zu tun hat:
from data in joinTbls.DefaultIfEmpty()
Aber ich bin nicht sicher, wie es zu lösen.
Haben Sie versucht, das Entfernen DefaultIfEmpty()? –
IMO ist, weil Sie "OR" (||) in Ihrer Where-Klausel haben. versuchen, es durch "AND" (&&) zu ersetzen – BMaximus
Ja, aber das dann nur Datensätze aus tbl1 –