说我有这个班:
public class MyObject
{
public string Name { get;set;}
}
当进行db调用以查看是否有任何带有名称的项目时,我这样做:
public List<MyObject> ListObjectsByName(string _myObject)
{
var objectQry = from object in db.MyObject
where object.Name == _myObject
select object;
if(!objectQry.Any())
{
return null;
}
return objectQry.ToList();
}
我想通过解析_myObject
字符串来阻止对我的数据库的任何有害尝试,这样如果小丑试图获取所有*DELETE
MyObjects,我的应用程序将不会崩溃。我正在使用MVC 4.有没有办法做到这一点?
答案 0 :(得分:6)
这不是问题。实体框架不只是将字符串放入查询的中间。字符串中的内容无关紧要。不会有SQL注入攻击。
亲自尝试看看。
答案 1 :(得分:3)
LINQ可防止SQL注入(您试图阻止的内容)。这个问题应该回答您的所有问题:Will using LINQ to SQL help prevent SQL injection