NHibernate и Python - PullRequest
       15

NHibernate и Python

0 голосов
/ 27 ноября 2009

У нас есть проект на C #, основанный на NHibernate и WPF. Меня просят преобразовать его в Linux и рассмотреть другие реализации, такие как Python. Но по какой-то причине им очень нравится NHibernate и они хотят его сохранить.

Вы знаете, возможно ли сохранить материал NHibernate и заставить его работать с Python? У меня сложилось впечатление, что NHibernate - это связующий код между C # и БД, поэтому его нельзя экспортировать на другие языки.

Альтернативный вопрос: может ли кто-нибудь порекомендовать хорошую замену NHibernate на Python? Внутренняя БД - это Oracle что-то.

Ответы [ 4 ]

5 голосов
/ 27 ноября 2009

NHibernate не специфичен для C #, но специфичен для .NET.

IronPython - это язык .NET, с которого вы можете использовать NHibernate.

.NET и NHibernate могут работать в Linux через Mono. Я не уверен, насколько хороша поддержка Mono для WPF.

Я не уверен, что IronPython работает на Linux, но, похоже, это самое близкое к тому, что вы ищете.

Существует Java-версия NHibernate (называемая языком по щеке), называемая Hibernate, и есть точки интеграции между Java и Python, где Linux очень поддерживается.

Я знаю, что в сообществе Python есть свои собственные ORM, но, насколько мне известно, эти опции не настолько развиты и многофункциональны, как Hibernate / NHibernate.

Я полагаю, что почти все доступные вам опции будут поддерживать Oracle.

2 голосов
/ 27 ноября 2009

А как насчет запуска вашего проекта под Mono в Linux? Mono, кажется, поддерживает NHibernate, а это значит, что вы можете избежать переписывания больших кусков вашего приложения.

Кроме того, если вы действительно хотите подключить Python к действию, вы можете использовать IronPython вместе с Mono.

1 голос
/ 27 ноября 2009

SQLAlchemy - самый мощный ORM в Python на данный момент.

0 голосов
/ 27 ноября 2009

Проверьте Джанго. У них хороший ORM, и я считаю, что у него есть инструменты для попытки обратного инжиниринга из схемы БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...