Что я хочу сделать, это преобразовать все мое приложение в nhibernate из ADO.NET и протестировать его с использованием разных баз данных. Я знаю, что nhibernate поддерживает множество разных баз данных, поэтому я могу переключаться между различными базами данных без изменения какого-либо моего приложения или кода nhibernate?если я использую Nhibernate, могу ли я переключаться между базами данных и не изменять код Nhibernate?
ответ
Пока вы не писать никаких конкретных запросов целенаправленные для конкретной СУБД (что возможно при использовании NHiberate (ISession.CreateSqlQuery
), я бы сказал, что это возможно.
Но запросы, которые были написаны с использованием HQL или ICriteria API должен работать из коробки на других DBMS'es. (При условии, что NHibernate поддерживает эту СУБД).
Хотя, возможно, будет необходимо изменить некоторые параметры конфигурации (http://fgheysels.blogspot.com/2007/07/nhibernate-ms-access-problems-with.html, например).
Короткий ответ: да. Долгий ответ: это зависит :-) Я делал это много раз, переключение между SQLite (во время ранней разработки и модульного тестирования) и SQL Server (для последующей разработки, тестирования интеграции и производства) без каких-либо изменений кода или перекомпиляции - просто Web .config.
Если ваше приложение довольно сложно, вы можете столкнуться с некоторыми проблемами с переносимостью, но NHibernate по-прежнему не требует больших усилий, если вы хотите поддерживать несколько продуктов RDBMS для своего приложения. Любые такие проблемы с переносимостью, как правило, достаточно просты в работе.
- 1. Я использую ISG nHibernate здесь?
- 2. NHibernate и беглый NHibernate - могу ли я рискнуть использовать их?
- 3. Должен ли я использовать Castle Windsor, потому что NHibernate использует его, и я уже использую NHibernate?
- 4. Я использую ITransaction от nHIbernate здесь?
- 5. NHibernate с несколькими базами данных и транзакциями
- 6. Могу ли я видеть сопоставления автоматов nhibernate?
- 7. Могу ли я использовать nHibernate с monotouch?
- 8. я не могу переключаться между радиокнопки
- 9. Зачем мне LINQ, если я использую ORMs, подобные NHibernate?
- 10. Копирование объектов между несколькими базами данных с помощью NHibernate
- 11. Я не могу переключаться между классами
- 12. PDO отказывается переключаться между несколькими базами данных!
- 13. NHibernate и код first
- 14. NHibernate и модульный код
- 15. Должен ли я использовать NHibernate?
- 16. C# как переключаться между базами данных
- 17. Могу ли я загрузить заданное сопоставленное свойство (nhibernate)?
- 18. Сколько сессий я могу открыть в NHibernate?
- 19. С NHibernate, как я могу создать INHibernateProxy?
- 20. Где я могу получить Linq для NHibernate?
- 21. NHibernate: LINQ к NHibernate я присоединиться к
- 22. NHIbernate & Rhino-Security не сохраняется, если я не вызываю session.Flush()
- 23. Могу ли я определить, грязно ли свойство, используя nhibernate?
- 24. Как я могу переключаться между версиями Ansible?
- 25. Могу ли я использовать ORM, если я использую хранимые процедуры?
- 26. NHibernate: Должен ли я кодировать входы?
- 27. Использование nHibernate, как я могу читать uncommined?
- 28. Как я могу заставить транзакцию Nhibernate сбой?
- 29. Могу ли я иметь образец статьи по WPF + WCF + NHibernate
- 30. Должен ли я использовать HiLo с NHibernate?