文档章节

EntityFramework中使用ExecuteSqlCommand执行语句条件带IN的处理

浔__
 浔__
发布于 2016/03/28 17:24
字数 206
阅读 595
收藏 0

数据库项目开发时避免不了使用sql语句,为了避免SQL注入,通常采用SqlParameter参数。EntityFramework同样可以通过ExecuteSqlCommand执行sql语句。

最近在纠结存在IN的时候这个参数的处理方式,网上找个多钟解决方案未果,无奈用一下方法解决

var _param = new List<object>();                                    //定义ExecuteSqlCommand参数
_param.Add(1);                                                      //给in条件前面的参数赋值,根据实际情况
var _in = new object[] { "test@qq.com", "a@gmail.com","b@163.com" };//in条件
_param.AddRange(_in);                                               //给in参数赋值
var sql = "UPDATE users SET islocked={0} WHERE email IN ({1})"
          .Replace("{1}",_in.Select((v,i)=>"{"+(i+1)+"}").Join(","));//给in条件的增加占位符,{"+(i+1)+"}中的1根据in条件前面有几个占位符而定
this.db.ExecuteSqlCommand(sql, _param.ToArray());                    //执行


© 著作权归作者所有

浔__

浔__

粉丝 9
博文 4
码字总数 1235
作品 0
桂林
其他
私信 提问
EntityFramework 的一个问题

使用EntityFramework的Code first时发现这么一个问题: 下文中涉及到的数据表名字为Roles,这张表中只有两个字段一个自增长的int类型ID,另外一个是NVARCHAR类型的RoleName 新添一条Roles记录...

长平狐
2012/06/08
47
0
请确保在应用程序配置文件的“entityFramework”节中注册了该提供程序

异常原因 在项目中,我把数据库模型成单独分在一个 Models 类库中, 并添加了 EntityFramework. 但是在要发布的 Web 类库中, 并没有添加 EntityFramework 相关的依赖和配置. 网站发布到IIS后,...

taadis
0005/02/12
162
0
别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework

前言 一直以来写的博文都是比较温婉型的博文,今天这篇博文算是一篇批判性博文,有问题欢迎探讨,如标题,你到底会不会用EntityFramework啊。 你到底会不会用EntityFramework啊   面试过三...

dotNET跨平台
2018/05/07
0
0
EntityFramework 6 分页模式

在我的另一篇博客中提到了EntityFrameworkCore 分页问题,中提到了在针对不同版本SQL Server数据库时如何指定分页模式,那么如何在中指定分页模式呢? 场景重现 在一个项目开发的项目中,我引用了...

taadis
2017/12/27
183
0
Entity Framework连接数据库、初始化的一些知识

俗话说:“工欲善其事必先利其器”,在深入讲解Entity Framework之前,先准备一下开发工具以及前期的配置。 一、开发工具 开发工具基本略过,这里说一下,我使用的是Visual Studio 2012,Ent...

andrewniu
2018/05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部