Les paramètres Dapper ne fonctionnent pas?

dapper

Question

Dapper 1.34 (sur la version précédente de Dapper comme 1.1x, cela fonctionnait bien).

db.Query (@ "Sélectionnez [quelque chose] dans @TableName Où [PREFIX] = '@ Préfixe' order by [quelquechose] desc", nouveau {TableName = nomTable, Préfixe = préfixe})

Erreur: System.Data.SqlClient.SqlException (0x80131904): doit déclarer la variable de table "@TableName".

J'ai la même erreur en essayant de définir DynamicParameters et en les passant.

======= Je fais actuellement la substitution de chaîne 1} .. mais cela ne semble pas acceptable ...

Puis-je obtenir un échantillon, en regardant également la classe de test pour Dapper? Je ne le vois pas fonctionner, peut-être quelque chose qui ne va pas dans la configuration de mon projet?

Réponse acceptée

Non, cela n'a jamais bien fonctionné, à cause du fonctionnement de SQL:

  • les noms de table ne peuvent pas être paramétrés et dapper ne l’a jamais proposé; cela pourrait fonctionner si vous passez un DataTable tant que paramètre de valeur table, ce que dapper prend en charge, mais je ne pense pas que ce soit ce que vous recherchez
  • '@Prefix' est un littéral de chaîne; vous voulez juste dire @Prefix (pas de guillemets simples)


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi