Soluzione per "Tipo restituito non valido" da Dapper.Contrib durante l'inserimento di una riga

Soluzione per "Tipo restituito non valido" da Dapper.Contrib durante l'inserimento di una riga

Questo è un altro di quei momenti imbarazzanti. Ho avuto questo problema per un po' di tempo e non riuscivo a capire cosa stavo facendo di sbagliato. Sono quasi finito con la conclusione che doveva esserci qualcosa che non andava con dapper (doveva essere!). Come sempre, era il programmatore, non il codice, ad essere in errore.

Quello che avevo scritto era qualcosa di simile al seguente. Un semplice inserto per un oggetto. Potrebbe essere più semplice? Anche il minor numero di righe di codice può contenere errori. L'errore era nel parametro generico.

var person = new Person{
   Name = "Peter"
};
connection.Insert<Person>(person);

Non ho dovuto specificare il tipo Person . Questo è stato effettivamente utilizzato per il tipo restituito. Quando specificato, dapper proverà a eseguire il mapping a questo tipo. Da qui il messaggio inaspettato Invalid return type . Di seguito è riportato un esempio di come dovrebbe essere fatto.

var person = new Person{
   Name = "Peter"
};
connection.Insert(person); // NO generic type!

Spero che questo aiuti qualcuno là fuori:sentiti libero di lasciare un commento se lo ha fatto!