During insert a float number like 0.0001 into sql from my code, the result is a 0.0000 in database. here is definition of my table column:
decimal(20,15)
Here is the definition of class field:
public decimal Rate {get ; set; }
How can I solve this problem?
I am using EF Code first approach like this:
Class1 obj = new Class1();
obj.Rate = 0.000001;
ClassDbSet.Add(obj);
DbContext.SaveChange();
I have be encounter with this issue long time ago. Add this method (if not exists) into you DbContext :
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Class1>().Property(rec => rec.Rate).HasPrecision(20, 15);
}
when you declare a variable like this in EF and do not mention any thing about how many precision the float number have , so EF Engine accept the default value (decimale(18,2))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With