-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Closed as not planned
Closed as not planned
Copy link
Description
I'm testing EFCore RC1 using Sqlite, and encountered a problem when storing/retrieving double.NaN values.
I use TPH inheritance and when storing a double.NaN Sqlite stores this a Null value (see: http://system.data.sqlite.org/index.html/tktview?name=2b823bfe08). Then when loading that row EF Throws a NullReferenceException.
Could this be fixed in EFCore somehow so that Null values would be read in as double.NaN?
If not the only option as I see is to make sure that NaN is never stored which would be nasty solution.
Here is a minimal repro example:
class Program
{
static void Main(string[] args)
{
using (var db = new NumberContext())
{
db.Database.EnsureDeleted();
db.Database.EnsureCreated();
var number = new DoubleNumber() { Value = double.NaN };
db.DoubleNumbers.Add(number);
db.SaveChanges();
}
using (var db = new NumberContext())
{
// Throws NullReference exception on the following line due to NaN double value stored as Null in Sqlite
var list = db.DoubleNumbers.ToList();
}
}
}
public class BaseNumber
{
public int Id { get; set; }
}
public class DoubleNumber : BaseNumber
{
public double Value { get; set; }
}
public class NumberContext : DbContext
{
public DbSet<BaseNumber> BaseNumbers { get; set; }
public DbSet<DoubleNumber> DoubleNumbers { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite($"Filename=Test.db");
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels