В соответствии с моим предыдущим вопросом о том, как хранить TimeSpan в SQL, мне посоветовали хранить его в виде секунд или билетов и т. Д. В итоге я не отобразил столбец TimeSpan, поскольку в аналоге нетSQL сервер.Я просто создал 2-е поле, которое преобразовало TimeSpan в тики и сохранило его в БД.Затем я запретил сохранять TimeSpan
public Int64 ValidityPeriodTicks { get; set; }
[NotMapped]
public TimeSpan ValidityPeriod
{
get { return TimeSpan.FromTicks(ValidityPeriodTicks); }
set { ValidityPeriodTicks = value.Ticks; }
}
. Если вы хотите сделать это в EF Core, это намного чище, так как вы можете использовать Преобразование значений .В 2.1 вы можете использовать преобразования значений и TimeSpanToTicksConverter, чтобы прозрачно отобразить временные диапазоны на тики в базе данных.Поэтому, безусловно, стоит подумать о EF Core (при условии, что другие функции удовлетворяют потребности) - можете использовать его в проектах Framework 4.7, поэтому не нужно переключаться на .Net Core.