float
Ou si vous voulez aller de la vieille école:
real
Vous pouvez également utiliser float(53), mais il signifie la même chose que le flotteur.
("réel" est équivalent à flotteur(24), pas de flotteur/float(53).)
La virgule(x,y) de type SQL Server est pour quand vous voulez exacte des nombres décimaux plutôt qu'en virgule flottante (qui peuvent être des approximations). Ceci est en contraste avec le C# "décimal" type de données, ce qui est plus comme un cryptage de 128 bits à virgule flottante nombre.
MSSQL flotteur n'ont pas exactement la même précision que le 64 bits double type .NET (légère différence dans la mantisse IIRC), mais c'est assez proche correspondre à la plupart des utilisations.
Pour rendre les choses plus confuses, un "float" en C# n'est que de 32 bits, de sorte qu'il serait plus équivalent en SQL pour le vrai/float(24) type de MSSQL que float/float(53).
Dans votre cas d'utilisation spécifiques...
Tous vous avez besoin est de 5 décimales après la virgule pour représenter la latitude et de longitude dans un délai d'environ un mètre de précision, et vous avez seulement besoin jusqu'à trois chiffres avant la virgule pour les degrés. Float(24) ou décimale(8,5) correspondent le mieux à vos besoins en MSSQL, et l'utilisation de float en C# est assez bon, vous n'avez pas besoin de double. En fait, vos utilisateurs vont probablement vous remercier pour l'arrondi à 5 décimales plutôt que d'avoir un tas de chiffres insignifiants à venir le long de la balade.