Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entity Framework maps the float datatype into double

I am working on an asp.net mvc 3 web application using database-first approach.

I have a table called Results that contains two columns (min & max) of type float, but when I use the Entity Framework to map the existing database into model classes, then EF creates a class Results with the data type of the min & max fields as double instead of float as specified in the exsiting database.

So why is this behaviour happening? Will it cause any problems?

like image 536
john Gu Avatar asked Apr 24 '12 01:04

john Gu


2 Answers

This is normal behaviour, as per MSDN.

Even SQL-server's real datatype is mapped to double, even though float would definitely be enough there.

But the type names are very confusing here. In fact float (t-SQL) is the same as double (.Net): a precision of 15 digits and a range of negative 1.79769313486232e308 to positive 1.79769313486232e308.

like image 136
Gert Arnold Avatar answered Sep 23 '22 04:09

Gert Arnold


I'm not sure if your problem is identical to this or not:

http://forums.asp.net/p/1606916/4100117.aspx

But it doesn't seem like this should cause any problems. You could lose precision with your numbers going from a double to a float, but it should still work unless you need the extra digits.

like image 37
Eric Garrison Avatar answered Sep 23 '22 04:09

Eric Garrison