У меня есть проект, который будет построен постепенно.Как реализовать управление версиями с Entity Framework
Проект представляет собой настольное приложение, с Entity Framework с пакетами выкладывается так:
Entity Framework + DAL -> Application + Logic и т.д.
версии 1.0 были 2 объекта:
- Блог
- Post
Так что я Packa и отправьте его моему клиенту, он хочет несколько изменений, и я продвигаюсь вперед в целом по системе.
Версия 2.0 теперь имеет 3 объекта:
- Блог
- сообщение
- Пользователь
С Entity Framework схема базы данных больше не соответствует версии 1.0, первая версия теперь мертв из-за этого, и возникает ошибка. Я хочу, чтобы мой клиент все еще мог использовать версию 1.0. Как я мог/должен был создать приложение для продолжения использования V1?
РЕДАКТИР EnglishBob:
Я хочу, чтобы мой клиент по-прежнему иметь возможность использовать V1. Скажем, у него есть отдел тестирования, и им необходимо, чтобы иметь возможность использовать их LIVE DB, или у него есть трудности в масштабировании приложения через отделы эффективно, поэтому он должен одновременно работать как v1, так и v2.
Это будет очень сложно. Как известно, ORM плохо обрабатывает изменения схемы. –
Я знаю это, но, конечно, несколько человек попытались и не смогли/преуспели. Мне хотелось бы знать, как это сделать. То есть Layer между ними с API, который всегда является текущим, или способ запустить EF, игнорируя обновленные изменения. – Smithy
Что вы можете сделать: 1. Сначала используйте код и создайте цепочку контекстов diff в цепочке наследования. 2. Определите версию db во время загрузки и загрузите правильный контекст. –