tmsmith / Dapper-Extensions

Dapper Extensions is a small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs. For more advanced querying scenarios, Dapper Extensions provides a predicate system. The goal of this library is to keep your POCOs pure by not requiring any attributes or base class inheritance.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Get by key value is broken, must use Get by object

kspdrgn opened this issue · comments

Sorry if this is a duplicate. Maybe this will help other developers running into this issue.

Using Get as the documentation suggests Get(id) doesn't work, it doesn't generate any predicate. Must use Get(new { id }) syntax.

This bug may affect all providers, I have only tested SQL Server.

The predicate is not filled out when using Get(value) but they work when using Get(object). I noticed that in DapperImplementor.GetMapAndPredicate, GetKeyPredicate is only called for Update and Delete, not Get.

Workaround for developers is to use Get(new {}) syntax.

Workaround for Dapper-Extensions may be to fix the documentation to say Get(new { id }) instead of Get(id).

See pull request with a corrected test case that shows Get is failing