This works:
var list = conn.Query<int>(
"select Id from Person where Id in @ids",
new { ids = new int[] { 1, 2, 3 } }
);
This throws "No mapping exists from object type System.Int32[] to a known managed provider native type.":
DynamicParameters parameters = new DynamicParameters(
new { ids = new int[] { 1, 2, 3 } }
);
var list2 = conn.Query<int>(
"select Id from Person where Id in @ids",
parameters
);
Any ideas?
Dapper also provides a DynamicParameters class, which represents a "bag" of parameter values. You can pass an object to its constructor. Suitable objects include a Dictionary<string, object> : var dictionary = new Dictionary<string, object>
SqlKata provide an easy way to execute your queries, by using the famous package Dapper.
Dynamic parameters allow you to create actions that are different every time they are performed. Dynamic parameters can be passed as arguments to most vizact actions. The value of these parameters is determined when the action is performed, and you can setup these parameters to change values every time.
Just fixed this issue in the latest dapper (grab from hg), the code used to diverge around the DynamicParameters value extraction. Now the code being run is the same.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With