def strip_end(text, suffix):
if not text.endswith(suffix):
return text
return text[:len(text)-len(suffix)]
Хорошо, я понял это. Как указал Герт, если бы отношения были настроены, это было бы необязательно, но я отправляю все еще для людей, которые просто делают Linq-to-SQL, которые спотыкаются на это.
var byContactName = from s in context.Lab_SubSpace.AsNoTracking()
from w1 in context.Worker.Where(w => w.WWID == s.Alt_Contact).DefaultIfEmpty()
from w2 in context.Worker.Where(w => w.WWID == s.Main_Contact).DefaultIfEmpty()
from w3 in context.Worker.Where(w => w.WWID == s.IT_Contact).DefaultIfEmpty()
from w4 in context.Worker.Where(w => w.WWID == s.PPHW_Contact).DefaultIfEmpty()
from w5 in context.Worker.Where(w => w.WWID == s.Capital_Contact).DefaultIfEmpty()
from w6 in context.Worker.Where(w => w.WWID == s.Technical_Contact).DefaultIfEmpty()
where w1.Full_Name.ToLower().Contains(text) || w1.IDSID.ToLower().Contains(text) ||
w2.Full_Name.ToLower().Contains(text) || w2.IDSID.ToLower().Contains(text) ||
w3.Full_Name.ToLower().Contains(text) || w3.IDSID.ToLower().Contains(text) ||
w4.Full_Name.ToLower().Contains(text) || w4.IDSID.ToLower().Contains(text) ||
w5.Full_Name.ToLower().Contains(text) || w5.IDSID.ToLower().Contains(text) ||
w6.Full_Name.ToLower().Contains(text) || w6.IDSID.ToLower().Contains(text)
select s.Lab_Space_Id;