Je rencontre un problème lors de l'insertion d'une valeur décimale dans la base de données à l'aide de PetaPoco.Erreur lors de l'insertion de la décimale dans la base de données avec petapoco
Dans mon modèle, j'ai le proeprty:
[Column("Price")]
public decimal PriceTotal { get; set; }
et dans la databse la colonne correspondante Price
est de type decimal(18, 2)
Quand je fais l'insert:
public void InsertModel(MyViewModel model)
{
_database.Insert(model);
}
Je m obtenir une erreur:
System.InvalidCastException: 'Invalid cast from 'System.Decimal' to 'System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'.'
Vous ne savez pas comment faire autrement? ne pas decimal
traduire au sql du serveur decimal(18,2)
?
Vous n'avez pas besoin de traduire quoi que ce soit. Avez-vous * lu * le message d'erreur? Vous essayez d'enregistrer ou de lire une décimale dans un champ entier –
Affichez l'exception * full *, y compris sa pile d'appels, le schéma de la table et un exemple de code * reproductible *. Peut-être que vous avez défini 'ID' comme' numeric (18,2) 'dans la base de données et' int' dans votre classe, ce qui entraîne une erreur lorsque l'ORM essaie de récupérer l'ID généré automatiquement –
J'ai écrit exactement ce que j'ai. Je ne sais pas si me traiter comme un idiot est une solution. – nickornotto