Что вы думаете об этом? Я работаю над интеграцией некоторых новых данных в текстовом формате с разделителями табуляции, и все десятичные столбцы хранятся в виде целых чисел; чтобы определить десятичную сумму, вам нужно умножить число на 0,01. Это делается для таких вещей, как проценты, вес и информация о ценах. Например, цена элемента в файлах данных выражается как 3259
, и когда я хочу отобразить ее, мне нужно умножить ее, чтобы получить «реальную» сумму 32.59
.
Как вы думаете, это хорошая или плохая идея? Должен ли я сохранить структуру данных, идентичную той, которую предоставляет поставщик, или я должен сделать столбцы базы данных истинными десятичными числами и использовать SSIS или какой-либо другой процесс ETL для автоматического умножения целочисленных столбцов на их десятичный эквивалент? На данный момент я еще не решил, собираюсь ли я использовать ORM или хранимые процедуры или что для извлечения данных, поэтому я стараюсь думать надолго и решать, какой подход использовать. Я также мог бы легко обработать это в коде из DTO или подобного, что-то вроде:
public class Product
{
// ...
private int _price;
public decimal Price
{
get
{
return (this._price * .01);
}
set
{
this._price = (value / .01);
}
}
}
Но это кажется лишней и ненужной работой со стороны класса. Как бы вы подошли к этому, имея в виду, что данные предоставляются в целочисленном формате поставщиком, от которого вам регулярно требуется получать обновления.