С тех пор, как я начал использовать ORM для повседневного доступа к данным.Я начал думать о том, насколько я должен полагаться на функции форматирования для моих столбцов.Под функциями форматирования я подразумеваю такие вещи, как Oracle decode()
, instr()
и initcap()
.
Пример
Скажем, я выбираю этот столбец с использованием форматированияв Oracle.
(to_number(to_char(to_date('1', 'J') + (EndTime - StartTime), 'J') - 1) * 24)
+ (to_char(to_date('00', 'HH24') + (EndTime - EndTime), 'HH24'))
|| ':' ||
to_char(to_date('00', 'MI') + (EndTime - StartTime), 'MI')
as duration_time
Это не очень красиво, я знаю.Поскольку форматирование чего-то подобного с использованием ORM (я использую NHibernate), вероятно, пустая трата времени.Я думал, что могу просто позволить мне DTO позаботиться об этом форматировании.Я мог бы использовать что-то подобное в своем свойстве C # set
.
public TimeSpan DurationTimeSpan
{
get
{
return EndTime.Subtract(StartTime);
}
}
Итак, мой вопрос, должен ли я позволить DTO-объекту позаботиться о таком форматировании?Или объект DTO не должен нести ответственность за такие вещи?Лично мне кажется, что было бы намного проще, если бы я мог использовать свойства DTO set
для такого форматирования.Судя по всему, большая часть форматирования может быть достигнута с помощью очень простого C #.