Будете ли вы выполнять большое сложное преобразование данных по одной таблице за раз, когда ваши системы будут использовать одну, другую или обе модели данных одновременно в течение длительного периода времени? Ясно, что это требует хлопот и сложности. Лучшая практика для больших преобразований данных - это делать их так, чтобы вся модель данных достигла желаемого конечного состояния в кратчайшие возможные сроки. То же самое относится и к крупномасштабным преобразованиям кода. Выполнение их по частям и в течение длительного периода времени вызывает проблемы с точки зрения увеличения трудозатрат и технического риска.
IMO, лучший подход - сформулировать стандарты разработки и архитектуры конечного состояния для вашего кода .NET, а затем инвестировать в процесс, который поможет вам эффективно переписать вашу систему в соответствии с этими стандартами и точно сохранить прежний бизнес правила и функциональное поведение. Длинные переходы и сложные гибридные / промежуточные решения в лучшем случае являются лишь пробелом, в лучшем случае приводят к проблемам бизнеса и, в худшем случае, к провалу проекта - их следует избегать. Лучший подход позволит вам доставить устаревшее программное обеспечение на новую платформу внутренне согласованными, независимыми и правильно сформированными частями. Кроме того, обеспечение миграции меньшим количеством больших кусков будет более эффективным и менее разрушительным, чем множество маленьких кусочков.
Ключом к тому, чтобы сделать этот подход жизнеспособным, является использование инструментов VB6 / COM / ASP to .NET следующего поколения, которые позволяют итеративно калибровать, настраивать и проверять процесс автоматической перезаписи, который сочетает автоматическое преобразование с ручной работой. Инструменты Great Migrations специально разработаны для использования этой методологии. Мы называем это «переписывание с помощью инструмента». Мы использовали этот подход в нескольких крупных проектах по миграции, включая обновление портфеля приложений из 1.2M LOC VB6 / COM до перепроектированного C # / .NET.
Отказ от ответственности: я работаю на Великих Миграций.