Наша устаревшая база данных хранит пустые значения даты как 01.01.1900
Я хочу, чтобы мое приложение везде использовало 'null' как пустое значение, используя конвертеры.
Но документация говорит, что:
Нулевое значение никогда не будет передано в преобразователь значения. Это облегчает реализацию преобразований и позволяет им делиться между обнуляемыми и не обнуляемыми свойствами.
Мой код:
var dateConverter = new ValueConverter<DateTime?, DateTime>(
v => v == null ? new DateTime(1900, 01, 01) : v.Value,
v => v.Year == 1900 ? (DateTime?)null : v);
modelBuilder.Entity<Table>().Property(a => a.Date).HasConversion(dateConverter);
//query
return table.Where(a => a.Date == null);
Переводится на:
select * from table a where a.Date is null
Мне нужно, чтобы он автоматически переводился на что-то вроде:
select * from table a where a.Date = '1900-01-01T00:00:00.000'
Есть ли обходной путь для нулевых значений в конвертерах?