public void PrefixIsAddedWhenRetrievingParameterFromDbManager() { var oldPrefix = MySqlDataProvider.SprocParameterPrefix; MySqlDataProvider.SprocParameterPrefix = "_"; try { using (var db = new DbManager(ProviderName.MySql)) { db.SetSpCommand("GetPersonById", db.Parameter("?ID", 1)).Prepare(); foreach (var personID in new[] { 1, 2 }) { // prefix is not specified but it will be added internally before retrieving parameter from // command parameters db.Parameter("?ID").Value = personID; var person = db.ExecuteObject<Person>(); Assert.IsNotNull(person); Assert.AreEqual(personID, person.ID); // specifying prefix is also ok db.Parameter("?_ID").Value = personID; person = db.ExecuteObject<Person>(); Assert.IsNotNull(person); Assert.AreEqual(personID, person.ID); } } } finally { MySqlDataProvider.SprocParameterPrefix = oldPrefix; } }