繁体   English   中英

Dapper SQL查询列表上的内部联接<string>

[英]Dapper sql query inner join on List<string>

我正在尝试运行以下查询,但出现错误。

conn.Query("select d.ID, d.CategoryID from Document d inner join @Cases c on d.CaseID = c.ID", new { Cases = new List<string> { "000-6575-101", "5902-205" }});

当我运行命令时, Incorrect syntax near ','.收到Incorrect syntax near ','.

我的问题是,是否有可能做类似我正在做的事情?

Dapper in这种情况下支持in语法:

var ids = new List<string> { "000-6575-101", "5902-205" };
conn.Query("select d.ID, d.CategoryID from Document d where d.CaseID in @ids", new { ids});

这是dapper实际更改查询以执行所需操作(同时保持完全参数化等)的少数情况之一。

它还支持(可选,请参见SqlMapper.Settings ):

  • 参数填充以减少查询计划缓存饱和
  • 在SQL 2016 string_split用于整数类型( List<int>等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM