Massive uses positional arguments in their queries but dapper uses named ones. So in massive you can pass in parameter arrays like: new int[] {1,2,3}
while in dapper you need to pass in parameter objects like new { a = 1, b = 2 }
.
To achieve a similar solution with dapper you can create a DynamicParameters
object where you can pass your parameters dictionary where the key is the name of the parameter and value is the value of parameter, something like {"0",0}, {"1", 1},
etc
You can easily turn an array to a dictionary with LINQ:
var dictionary = new object[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
.Select((item, ind) => new {ind = ind.ToString(), item})
.ToDictionary(item => item.ind, item => item.item);
DynamicParameters p = new DynamicParameters(dictionary);
var list = db.Query(query, param: p);