Если вы хотите мигрировать постепенно при доступе к записям, вам нужно следовать нескольким простым правилам:
1) Если вы добавляете поле, оно должно быть обнуляемым или иметь значение по умолчанию.
2) Никогда не переименовывайте поля, никогда не изменяйте типы полей
- Вместо этого всегда добавляйте новые поля, добавляйте код миграции, удаляйте старые поля только тогда, когда все документы перенесены поверх.
Для создания прототипов с MongoDBи C # я создаю динамическую оболочку ..., которая позволяет вам указывать ваши объекты с использованием только интерфейсов (классы не нужны), и позволяет динамически добавлять новые интерфейсы к существующему объекту.Не готов к использованию, но для создания прототипов это экономит много усилий и делает миграцию действительно простой.