我看到一些关于L2E是否容易受到SQL注入攻击的文章存在冲突。
来自MSDN的内容:
虽然在LINQ to Entities中可以进行查询组合, 但是它是通过对象模型API来执行的。与Entity SQL查询不同, LINQ to Entities查询不使用字符串操作或连接进行组合,并且不容易受到传统的SQL注入攻击。
这是否意味着有可能存在可以使用的“非传统”攻击方式?这篇文章提供了一个不带参数的查询示例 - 如果通过变量传递用户提供的数据,那么可以安全地假定它将被设置为参数吗?
如果我这样做:
from foo in ctx.Bar where foo.Field = userSuppliedString select foo;
我安全吗?