ExecuteStoreCommand

来源:互联网 发布:java靠右直角三角形 编辑:程序博客网 时间:2024/06/08 08:48

      linq用久了,发现自己的思维就一直固定在了查询上,代码写久了,发现自己有很多思维开始固定,用老旧的方式解决问题,将自己圈在了思维的怪圈中。

      刚学linq,然后我的程序里面几乎都是linq的查询句子,导致我每次都将数据先查询出来,然后在foreach循环中对每一条数据进行修改或删除,如果只有几十或几百条到看不出什么明显的区别,但成千上万条数据的时候……就慢慢等吧,特别是那种循环中还有着查询语句的,等到你睡着了也许才会跳个框告诉你执行成功。

      查了资料发现可以用sql语句直接处理。
      两种方式,发送命令过去,直接用sql语句解决问题
第一种:
     context.ExecuteStoreCommand
              ("DELETE FROM ContactPersonalInfo WHERE ContactID={0}",contactid);
第二种:
     var param = new SqlParameter { ParameterName = "p0", Value = contactid };
     context.ExecuteStoreCommand
                ("DELETE FROM ContactPersonalInfo WHERE
ContactID=@p0", param);

      多个参数

      var paramdel = new SqlParameter[]
                {
                    new SqlParameter("month",Date),
                    new SqlParameter("comid",comId)
                };

原创粉丝点击