Database parameters need to have unique names within a single type (case-insensitive); when in doubt, [DbValue] allows the name of individual members
to be specified explicitly.
Bad:
public int x {get;set;}
public string X {get;set;}
Better:
public int x {get;set;}
[DbValue(Name = "y")]
public string X {get;set;}
Best:
public int X {get;set;}
public string Y {get;set;}
The final option is preferred because avoiding ambiguity in the name solves a lot more problems than just Dapper!