Dapper.net, la distribution spécifiée n'est pas valide. ne peut pas utiliser le type float

dapper sql-server-2008

Question

J'ai une table, il y a un champ appelé "water", le type de données pour ce champ dans sql server 2008 est float.

dans mon code, j'utilise aussi float .

 public float? Water { get; set; }

voici le message d'erreur que j'ai reçu.

{"Specified cast is not valid."}
{"Error parsing column 2 (Water=15.87 - Double)"}

si je change le type pour doubler, tout fonctionne.

 public double? Water { get; set; }

Je suis retourné à la base de données, toutes les valeurs pour le champ d'eau sont comprises entre 0 et 100. il y a quelques nuls.

S'il vous plaît, expliquez-moi pourquoi je dois utiliser le double au lieu du flottant?

Réponse acceptée

Cela n'a rien à voir avec Dapper . Si vous vérifiez le site de conversion SqlDbType , vous remarquerez qu'un float dans SQL Server est un double dans .NET

http://msdn.microsoft.com/en-us/library/system.data.sqldbtype.aspx#Mtps_DropDownFilterText




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