.net core ef mysql in 参数化写法

这里简单的记述一下.net core ef mysql in 参数化执行sql时踩的坑,在使用IN函数的时候发现无论怎样写都无法执行成功(1.程序执行过程报错、2.程序执行成功但是数据库状态没有更改)后来就选择了

FIND_IN_SET函数。

sql语句

update businessnotice set baseisdelete = @baseisdelete where FIND_IN_SET (id,@ids);

@baseisdelete参数

new MySqlParameter("@baseisdelete", 1)

@ids

new MySqlParameter("@ids", "e5051a85b1744af0a98ffd30b0d34cbb,8e6314db7fad402a81ed535bd6fd1c01,894989c6502b43b997d2fbfa4dd73050")

完整的sql语句为:

update businessnotice set baseisdelete = 1 where FIND_IN_SET (id,'e5051a85b1744af0a98ffd30b0d34cbb,8e6314db7fad402a81ed535bd6fd1c01,894989c6502b43b997d2fbfa4dd73050');

注意坑:

ids中的参数不要带上单引号(“'”)否则就会出现程序执行成功,但是test表的baseisdelete 字段值没有改变的情况。


原文地址:https://www.cnblogs.com/2018clg/p/13659398.html