Эквиваленты значений полей данных
Я не мог найти ответ на этот вопрос, возможно, из-за недостатка знаний, какие поисковые термины вообще использовать.
Я нахожусь в процессе очистки инструмента переноса данных спагетти-кода на основе C#. Согласно совету из предыдущего вопроса, я делаю это сейчас, используя Entity Framework, чтобы описать хорошие "аккуратные" отношения между двумя системами.
Одна часть, которую я просто не могу понять - это "правильный путь" для перевода эквивалентных значений полей. Например:
Old-DB (City) = "Нью-Йорк" New-DB (City) = "Нью-Йорк"
Old-DB (Department) = "Бухгалтерия" New-DB (Department) = "Бухгалтерия"
Я уверен, что единственный способ сделать это - использовать некий "статический" ресурс для поиска / перекрестной ссылки на значения полей. У меня были такие идеи, как:
- DataTables (CityTable, AccountTable и т. Д.) Список FieldPairs
- Элемент списка {OldValue="NY", NewValue="New York"} и т. Д.
- Еще хуже - LookupDictionary.txt
Но они чувствуют себя просто неправильно. И я пытаюсь сделать это "правильно". Может кто-то указать мне верное направление?
Спасибо
1 ответ
Как насчет словаря?
Dictionary<string, string> replaceCityValues = new Dictionary<string, string>();
replaceCityValues.Add("NY", "New York");
replaceCityValues.Add("LA", "Los Angeles");
var toReplace = replaceCityValues.FirstOrDefault(x => x.Key == "NY");
if(toReplace != null)
Если у вас есть "статические" значения для замены цели, вы также можете использовать enum.
С другой стороны, список легче сериализовать и предоставить кому-то XML-файл для новых значений замены...