Contains的优化 返回

C#论坛 老数据
3 1829
该叫什么 发布于2021/2/2
悬赏:5 飞吻

List<int> level = new List<int> { 1, 2, 3, 4, 5 };

var sql=query

.Where(a=>level.Contains(a.level))

.tosql();


生成的sql会变成


([level] IN ('1','2','3','4','5'))


会加上字符串的''


正常应该是没有单引号的([level] IN (1,2,3,4,5))


这样查询是可以出来的,但是会降低查询的速度,希望可以优化下




热忱回答3

  • 正常数据库带不带双引号 性能是一样的, 当然你也可以用带参数化的写法


    SqlFunc.ContainsArrayUseSqlParameters(dis,it.name)

    0 回复
  • image.png

    0 回复
  • 银 VIP0
    2021/2/3

    @fate stay night:感谢

    0 回复