2012-05-14 3 views
1

enter image description hereДолжен ли я хранить текущий блок в базе данных или просто использовать .NET RegionInfo.ISOCurrencySymbol

Я видел это в проекте я работаю, они хранятся название страны и тип валюты, как это.

Было бы лучше, если бы валютные вещи использовали System.Globalization, которые вместо этого предоставлялись .Net.

http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.isocurrencysymbol.aspx

Есть ли хорошая причина, по которой мы должны хранить эти валюты в нашей базе данных?

+0

Как бы вы перешли от 'CountryId' к' CurrencySymbol'? – Oded

+0

, мы можем изменить эту структуру, используя вместо нее что-то вроде ThreeLetterISORegionName. –

+0

Является ли ваше приложение единственным, использующим эту базу данных? Если нет, то какое-либо другое приложение не написано с использованием .NET? – Oded

ответ

1

Нет определенного правильного или неправильного способа хранения символов валюты, это очень зависит от ваших требований и ожидаемых будущих потребностей. Если вы хотите сохранить символ валюты, а не ISO-код, и это работает для вас, то хорошо. Однако это может привести к трудностям в будущем, когда ваши требования распространяются, например, на получение обменного курса валюты по отношению к доллару США. Для этого вы, вероятно, используете сторонний веб-сервис для получения обменного курса, и этот веб-сервис, скорее всего, потребует указать валюту в качестве ISO-кода. Если вы сохранили только свой валютный символ, вам придется написать метод преобразования символа в код ISO.

Однако в вашей таблице базы данных вы храните валюту по стране. Было бы не проще, если бы вы просто сохранили код ISO страны в этой таблице. Затем вы можете использовать класс RegionInfo для получения символа валюты для этого округа, а также много другой информации о стране, которая может быть полезна в будущем.

Итак, моя рекомендация заключается в том, что вы храните код ISO страны вместо валюты.