К сожалению, переводчик LINQ to SQL недостаточно умен, чтобы переводить этот код, но есть хитрость, которая достигает того же:
p.brimsec.StartsWith ( q.primary_bsec )
Переводит в:
p.brimsec.SubString(0, q.primary_bsec.Length) == q.primary_bsec
LINQПереводчик в SQL прекрасно справляется с этим, и семантика эквивалентна StartsWith.
Честно говоря, я не понимаю, почему правильно перевести StartsWith для серверных аргументов было так сложно, что разработчики LINQ просто решили броситьошибка вместо.