Ich habe eine Tabelle, es gibt ein Feld namens "Wasser", der Datentyp für dieses Feld in sql server 2008
ist float.
In meinem Code verwende ich auch float
.
public float? Water { get; set; }
Hier ist die Fehlermeldung, die ich bekommen habe.
{"Specified cast is not valid."}
{"Error parsing column 2 (Water=15.87 - Double)"}
Wenn ich den Typ auf Double ändere, funktioniert alles.
public double? Water { get; set; }
Ich ging zurück zur Datenbank, alle Werte für das Wasserfeld liegen zwischen 0-100. Es gibt ein paar Nullen.
bitte erkläre mir, warum ich double statt float verwenden muss?
Das hat nichts mit Dapper
zu tun. Wenn Sie die SqlDbType
Konvertierungssite überprüfen, werden Sie feststellen, dass ein float
in SQL Server ein double
in .NET
http://msdn.microsoft.com/en-us/library/system.data.sqldbtype.aspx#Mtps_DropDownFilterText