У меня есть классы моделей, которые мне нужно использовать с Entity Framework Core.К сожалению, я не могу внести изменения в эти классы, и ни один из них не использует пустые столбцы, в то время как таблицы базы данных, которые они отображают, имеют нулевые столбцы.EF генерирует (ожидаемое) исключение при попытке вытащить данные из базы данных в класс модели.
Есть ли способ настроить EF Core для автоматического сопоставления значений NULL в столбце со значением по умолчанию для данного типа?
Например,
//Model class
class Foo
{
public int Id {get; set;}
public int Age {get; set;}
}
//DbContext
public class MyContext: DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<MyContext>(entity =>
{
entity.HasKey(e => new { e.Id });
entity.ToTable("Foo", "dbo");
entity.Property(e => e.Age).HasColumnName("Age");
}
}
}
Цель будетБыть может, при запросе данных значение NULL в столбце Age
станет типом по умолчанию (в данном случае 0).