Эквиваленты значений полей данных

Я не мог найти ответ на этот вопрос, возможно, из-за недостатка знаний, какие поисковые термины вообще использовать.

Я нахожусь в процессе очистки инструмента переноса данных спагетти-кода на основе 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-файл для новых значений замены...

Другие вопросы по тегам