SQL in查询字段为Guid拼接处理办法

 

场景一:在我们写SQL脚本执行普通的Id 为Int,Long 类型查询为 譬如: select *from Table where id in (1,2,3);

 

场景二:SQL in 查询,当查询字段为Guid,或字符串类型时候,需要对In帅选条件进行处理,譬如:select *from Table where GuidID in ('89e36dd0-4e36-488e-8159-2c56251d7284','89767f6f-b06b-4081-b6ad-af6b6cf31d64') 

可以通过,string.join 进行转换处理。

方法1:strchgPositionTemplateRole = "'" + string.Join("','", chgPositionTemplateRole) + "'";
方法2:string.Join(",", PagePositionTemplateReponse.Select(r => "'" + r.PositionTemplateID + "'"))

两者效果一样都可实现;

 

场景三:针对情况,string.join 处理方式,in 条件字符串有可能超过 SQL varchar 设定默认长度

办法一、字符类型改成text ;

办法二、先对SQL语句进行刷选,在用Linq  Contain,Any 等刷选

posted @ 2019-05-08 15:47  蜗牛行  阅读(711)  评论(0编辑  收藏  举报