gpt4 book ai didi

c# - List 上的 Dapper sql 查询内部连接

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:48 24 4
gpt4 key购买 nike

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

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 ','.

我的问题是,是否有可能像我正在做的那样做?

最佳答案

Dapper 支持 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 ):

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

关于c# - List<string> 上的 Dapper sql 查询内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37820446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com