Я использую NodaTime и Entity Framework Core в своем приложении. Я использую AutoMapper для преобразования из моих моделей (которые используют LocalTime) в мои объекты (которые используют Timespan, который сопоставлен с Time в Sql Server). Я делаю это таким образом, чтобы избежать ловушек EF ValueConversions.
При переходе от сущностей к моделям (т. Е. Timespan к LocalTime) я нашел «официальный» способ сделать это (https://github.com/nodatime/nodatime/issues/148 ):
LocalTime.FromTicksSinceMidnight(timespan.Ticks)
Но, переходя от моделей к сущностям (то есть от LocalTime к Timespan), я не уверен, что лучший способ. Даты и время кажутся слишком сложными, чтобы просто взять часы, минуты и т. Д. c вроде:
new TimeSpan(localTime.Hour, localTime.Minute, localTime.Second, localTime.Second, localTime.Millisecond)
Должен ли я использовать тики, как при переходе от LocalTime к Timespan?
TimeSpan.FromTicks(localTime.TickOfSecond)