I'm trying to search for matching people via a query like using entity framework:
var ret = from s in Lab_SubSpaces
join w1 in Workers on s.Alt_Contact equals w1.WWID
where SqlMethods.Like(w1.Full_Name, search) || SqlMethods.Like(w1.IDSID, search)
select s.Lab_Space_Id;
My problem now is that I have 5 more columns which I have to search against. So I think that means I need 6 more LEFT joins there as well. I really have no concept of how to do that as the joins keep expanding out and I get lost on the left joins with linq.
This is the SQL call that I need to end up replicating:
SELECT DISTINCT Lab_Space_Id
FROM Lab_SubSpace
LEFT JOIN Worker AS w1 ON Alt_Contact = w1.WWID
LEFT JOIN Worker AS w2 ON Capital_Contact = w2.WWID
LEFT JOIN Worker AS w3 ON PPHW_Contact = w3.WWID
LEFT JOIN Worker AS w4 ON IT_Contact = w4.WWID
LEFT JOIN Worker AS w5 ON Main_Contact = w5.WWID
LEFT JOIN Worker AS w6 ON Safety_Contact = w6.WWID
WHERE w1.Full_Name LIKE @search OR w1.IDSID LIKE @search OR
w2.Full_Name LIKE @search OR w2.IDSID LIKE @search OR
w3.Full_Name LIKE @search OR w3.IDSID LIKE @search OR
w4.Full_Name LIKE @search OR w4.IDSID LIKE @search OR
w5.Full_Name LIKE @search OR w5.IDSID LIKE @search OR
w6.Full_Name LIKE @search OR w6.IDSID LIKE @search