Я видел пару противоречивых статей о том, является ли L2E восприимчивым к SQL-инъекции.
От MSDN:
Хотя состав запросов возможен в LINQ to Entities, он выполняется через API объектной модели. В отличие от SQL запросов SQL, Запросы LINQ to Entities не составлены с помощью строковых манипуляций или конкатенации, и они не восприимчивы к традиционному SQL инъекции.
Означает ли это, что существуют "нетрадиционные" атаки, которые могут работать? В этой статье есть один пример непараметрированного запроса - можно ли предположить, что если вы передадите данные, предоставленные пользователем через переменную, это будет параметризироваться?
Если я это сделаю:
from foo in ctx.Bar where foo.Field = userSuppliedString select foo;
Я в безопасности?