C# 防止对字符串上的数据库进行有害调用

C# 防止对字符串上的数据库进行有害调用,c#,asp.net-mvc,database,entity-framework,C#,Asp.net Mvc,Database,Entity Framework,假设我有这门课: 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 == _

假设我有这门课:

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();
}
公共列表ListObjectsByName(字符串\u myObject)
{
var objectQry=来自db.MyObject中的对象
其中object.Name==\u myObject
选择对象;
如果(!objectQry.Any())
{
返回null;
}
返回objectQry.ToList();
}

我想通过解析
\u myObject
字符串来阻止对我的数据库的任何有害尝试,这样,如果小丑试图获取所有
*删除
myObject,我的应用程序就不会崩溃。我使用的是MVC4。有什么办法吗?

这不是问题。实体框架不只是将字符串放入查询的中间。不管串里有什么。不会有SQL注入攻击


你自己试试看。

这不是问题。实体框架不只是将字符串放入查询的中间。不管串里有什么。不会有SQL注入攻击


您自己试试看。

LINQ阻止SQL注入(您正试图阻止的)。这个问题应该回答您的所有问题:

LINQ阻止SQL注入(您正试图阻止的)。这个问题应该能回答你所有的问题:

在某种程度上,你是对的。我确实在*删除名称下保存了我的项目。谢谢我在哪方面不对?在某种程度上,你是对的。我确实在*删除名称下保存了我的项目。谢谢在什么方面我是不对的?你可能应该先测试一下这是否是一个问题,然后再发布这个问题。嗯,并不是我没有测试它,而是我觉得我想防止任何损坏。我对使用实体框架还不熟悉。在发布这个问题之前,你应该测试一下这是否是一个问题。嗯,并不是我没有测试它,而是我觉得我想防止任何损坏。我不熟悉使用实体框架。哦,我一定会读到的!谢谢哦,我一定会读到的!谢谢