"dapper" http://www.nuget.org/packages/Dapper有一些巫术:
var ids = new List<int> {1,2,3,4,5};
var rows = conn.Query<SomeType>("select * from table where id in @ids",
new { ids }).ToList();
你会注意到缺少括号in
用法; “dapper”发现了这一点,并自动执行参数扩展。另外,它会为您处理所有命令详细信息,包括将数据映射回SomeType
实例。
在上面的示例中,它将扩展为(大约)等于:
int ids0 = 1, ids1 = 2, ids2 = 3, ids3 = 4, ids4 = 5;
var rows = conn.Query<SomeType>(
"select * from table where id in (@ids0,@ids1,@ids2,@ids3,@ids4)",
new { ids0, ids1, ids2, ids3, ids4 }).ToList();