Parâmetros Dapper não funcionam
Estou tentando usar o Dapper orm com a seguinte consulta simples:
var sqlString = new StringBuilder();
sqlString.Append("select a.acct AccountNumber,");
sqlString.Append(" b.first_name FirstName,");
sqlString.Append(" b.last_name LastName,");
sqlString.Append(" a.rr RrNumber,");
sqlString.Append(" c.addr1 AddressLine1,");
sqlString.Append(" c.addr2 AddressLine2,");
sqlString.Append(" c.addr3 AddressLine3,");
sqlString.Append(" c.addr4 AddressLine4,");
sqlString.Append(" c.addr5 AddressLine5,");
sqlString.Append(" c.addr6 AddressLine6,");
sqlString.Append(" c.addr7 AddressLine7,");
sqlString.Append(" c.addr8 AddressLine8 ");
sqlString.Append("from (pub.mfclac as a left join pub.mfcl as b on a.client=b.client) ");
sqlString.Append("left join pub.mfclad as c on a.client=c.client ");
sqlString.Append("where a.acct = '@ZYX'");
var connection = new OdbcConnection(_connectionString);
var result = connection.Query(sqlString.ToString(),
new
{
ZYX = accountNumber
});
No entanto, quando eu executo isso com um accountNumber conhecido por existir, dapper não retorna nada. Então eu tentei remover as aspas para verificar se o parâmetro está de fato sendo substituído pelo número da conta, no entanto, o erro sendo retornado do servidor indica um erro de sintaxe em torno de "@ZYX". O que significa que dapper não está substituindo o parâmetro pelo valor dado. Alguma idéia porque isso está acontecendo? A partir da documentação limitada por aí, isso deve "apenas funcionar".
Edit1Não consegui fazer isso funcionar. Usando string.format para inserir o parâmetro como uma solução.