Disons que j'ai un type de données défini par l'user dans la database: MySuperType
qui contient deux propriétés bigint (Id + Code)
Et j'ai une procédure stockée qui prend dans ces parameters:
@MySuperType, @Price, @dateModified, etc...
Maintenant, dans mon code, j'utilise Dapper comme ceci:
using (var connecion = new SqlConnection(_connectionSsortingng)) { result = connection.Execute("SP_name", new {mySuperType, price, date}, commandType: CommandType.StoredProcedure); }
Mais je continue à recevoir une erreur
Type Conflit d'opérandes: Dapper n'est pas capable de mapper le type défini par l'user: MySuperType des parameters à la procédure stockée.
Modifier la procédure stockée ou replace le type défini par l'user n'est pas une option
Quelqu'un at-il une idée de ce que je peux faire pour mapper les types et envoyer les parameters (tous) à la procédure stockée?
Les noms des parameters doivent correspondre aux parameters définis dans la procédure:
using (var connecion = new SqlConnection(_connectionSsortingng)) { result = connection.Execute("SP_name", new {MySuperType = mySuperType, Price = price, dateModified = date}, commandType: CommandType.StoredProcedure); }
Dapper est sensible à la casse dans la cartographie dans 2 directions (en tant que parameters et en tant que résultats).
Si vous voulez éviter de spécifier les noms des parameters, assurez-vous de l'avoir exactement dans les variables de c # et de la procédure stockée.