如何在Dapper中使用IN

Luk*_*101 6 c# dapper

我不确定这是否正确.有一个更好的方法吗:

public List<Category> ManyCategories(IEnumerable<int> cats)
{
     string categoriesJoined = string.Join(",", cats);
     using (var conn = new SqlConnection())
     {
          conn.Open();

          //make this a union all
          return _categories = conn.Query<Category>("select Id, ParentId, Name from [Meshplex].[dbo].Category where Id IN (@joined)", new { joined = categoriesJoined }).ToList();
      }
}
Run Code Online (Sandbox Code Playgroud)

Cha*_*lie 6

http://code.google.com/p/dapper-dot-net/#List_Support

 //string categoriesJoined = string.Join(",", cats);
 using (var conn = new SqlConnection())
 {
      conn.Open();

      //make this a union all
      return _categories = conn.Query<Category>("select Id, ParentId, Name from [Meshplex].[dbo].Category where Id IN @joined", new { joined = cats}).ToList();
  }
Run Code Online (Sandbox Code Playgroud)