У нас есть продукт, который работает со сторонней базой данных, схема которой мы не можем изменить.На каждом месте установки эта база данных может иметь широкий диапазон версий.Некоторые столбцы могут существовать в одной базе данных, но не могут быть в других, или могут иметь разные типы данных.
Каковы рекомендации EF для решения этой проблемы?Очевидно, что это потребует некоторого ситуационного кодирования с учетом различных версий, но мой конкретный вопрос заключается в том, как справиться с этим при минимальном использовании ситуационного программирования в логике.Для большинства вызовов базы данных изменения не затронут нас, и я хотел бы сохранить возможность писать один запрос как можно чаще.
Мы можем знать версию базы данных во время выполнения,таким образом, нам не нужно заниматься спором, чтобы понять это.Мы работаем с Entity Framework 6, но не слишком далеко зашли в проект, поэтому, если более поздние версии EF смогут решить эту проблему лучше, мы можем переключиться.
Исправьте меня, если это дубликат, но я мог тольконайти существующие вопросы, связанные с доступом к нескольким базам данных одновременно.В этом вопросе я хотел бы, чтобы передавалась только одна база данных без указания «DbContextV10» и «DbContextV11».Генерация общего интерфейса будет работать в некоторой степени, но на самом деле это зависит от величины изменений версии, о которых мы не знаем в будущем, и мы хотим минимизировать нашу работу в будущем.