LINQ to SQL преобразует синтаксис LINQ в запрос SQL. Если для запроса требуется соединение, то LINQ to SQL фактически выполнит запрос SQL с объединениями к базе данных. Вы можете получить преимущество в том, что запрос LINQ to SQL может быть более оптимизированным, чем тот, который вы написали.
Если вы не знакомы с использованием LINQ и у вас есть работающее приложение, вы, вероятно, не получите ничего, кроме усложнения, добавив дополнительный уровень абстракции (LINQ). При этом, LINQ является отличным и мощным инструментом. Тем не менее, это не меняет правду на пословицу: «Если не сломано, не чините».
По сути, вы хотите преобразовать процедуру доступа к данным вашего приложения из
app -> SQL Query with Joins -> data objects
до
app -> LINQ Query with Joins -> SQL Query with Joins -> data objects
Я довольно хорошо разбираюсь в обоих, и я думаю, что написание LINQ-запросов намного проще, чем написание SQL-запросов. (Вы получаете строго типизированные модели и Intellisense). Однако, если вы знаете только SQL, тогда написание SQL-запроса значительно проще, чем изучение LINQ и написание LINQ-запроса .
Обратите внимание, что LINQ также поддерживает объединения. Вот статья об использовании объединений в LINQ: http://odetocode.com/Blogs/scott/archive/2008/03/25/inner-outer-lets-all-join-together-with-linq.aspx.