Я думаю, что LinqToSQL (или другие поставщики Linq to SQL) не должны мешать вам знать SQL.
Когда ваш запрос не возвращает того, что вы ожидаете, или если для запуска производственной базы данных требуется 30 минут, вам лучше понять, что сгенерировал LTS и почему он не работает.
Я знаю, это перефразированная тема, и она может быть неприменима к тому, что вы делаете («маленькая» база данных, которая никогда не столкнется с подобными проблемами и т. Д.), Но иногда стоит не слишком забывать о слоях абстракции.
Другая причина в том, что Linq не обладает полным набором возможностей, которые вы можете делать в SQL, поэтому вам, возможно, придется прибегнуть к написанию «сырого» SQL, даже если результат материализуется как объекты.