1) Мы программисты, а не фашисты DBA. Если ваши требования указывают, что база данных должна быть заблокирована на 100%, Linq не для вас. Я не администратор баз данных, поэтому я считаю, что большая часть обмана производительности / безопасности именно это. Linq для меня.
2) Объединения можно выполнять с помощью linq.
@ Philippe : Linq автоматически преобразует оценки в параметры запроса, поэтому обеспечивает некоторую защиту от внедрения SQL. Тем не менее, вы все равно должны тщательно оценить ваши требования, чтобы определить, какой уровень безопасности вам нужен и на каком уровне. Linq значительно облегчает работу с базой данных, но облегчает откладывание защищенного дизайна на задний план, что плохо.