How to use IN with Dapper

c# dapper

Question

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

Accepted Answer

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



Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why