How to use IN with Dapper

c#, dapper

Solution

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();
  }

Problem

I am not sure if this is the right way or not. Is there a better way to do this: ``` 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(); } } ```

Original source