我想做类似下面的事情,其中 ls 是一对(id 和 value 匹配 blah)。也许如果我可以获得列表匹配的索引,我可以正常使用列表并在代码中获取 id
select @id from table1 where blah in @ls
Dapper 是 SQL 的一个非常薄的饰面。它作为语法更改添加的唯一IN
内容是扩展:
x in @foo
到
x in (@foo0, @foo1, @foo2, @foo3)
但是,我认为您的查询不能这样写。那么,第一步是用常规 SQL 编写查询。如果这是 SQL-Server,我会想:
例如:
select #x.id
from dbo.MyMagicUdf(@s) #x -- has columns id and value
inner join table1 t on t.blah = #x.value -- or whatever the join is
但重复一遍:第一步是用 SQL 为您的 RDBMS 编写它。一旦你有了这个工作,让dapper使用它应该是一件轻而易举的事。