用linq操作数据库,能用SqlParameter传参的形式么(为了防注入)
如下面的应该怎样用SqlParameter写DataorderDataContext db = new DataorderDataContext();
var ret = from p in db.user where p.name == TextBox1.Text && p.pwd == TextBox2.Text select p;
if (ret.Count() >= 1)
{
    Response.Redirect("index.aspx");
}

解决方案 »

  1.   

    应该跟 SqlParameter 没关系了,你就用变量代替
      

  2.   

    linq在防止SQL注入方面已经替编程人员想到了
    所以你就不需要操这个心了
      

  3.   

    具体的原因很和简单,你将你上边的LINQ语句在执行查询时,查看它生成的SQL语句
    你会发现,所有的变量,在"翻译"成SQL语句时,LINQ都自动使用了参数: @p0  @p1  @p2....所以SQL注入对于LINQ来说,已经不用担心了