NHibernate 和 Python

0 投票
4 回答
1488 浏览
提问于 2025-04-15 16:27

我们有一个现有的C#项目,它是基于NHibernate和WPF的。现在有人让我把这个项目转换到Linux上,并考虑使用其他语言,比如Python。不过,他们似乎特别喜欢NHibernate,想要继续使用它。

你知道有没有办法把NHibernate的部分保留下来,让它能在Python中工作吗?我觉得NHibernate就像是C#和数据库之间的粘合剂,所以可能不能直接用在其他语言上。

另外一个问题是:有没有人能推荐一个和NHibernate相似的、适合Python的替代品?我们的后端数据库是Oracle的某个版本。

4 个回答

1

SQLAlchemy 是目前在Python中最强大的对象关系映射工具。

2

在Linux上用Mono运行你的项目怎么样?Mono似乎支持NHibernate,这意味着你可能不需要重写你应用程序的大部分代码。

另外,如果你真的想让Python也参与进来,你可以把IronPython和Mono一起使用。

5

NHibernate并不是专门为C#设计的,但它是专门为.NET平台开发的。

IronPython是一种.NET语言,你可以用它来使用NHibernate。

.NET和NHibernate可以通过Mono在Linux上运行。不过,我不太确定Mono对WPF的支持情况怎么样。

我不确定IronPython是否能在Linux上运行,但这似乎是你所寻找的最接近的选择。

还有一个Java版本的NHibernate,叫做Hibernate(这句话是开玩笑的),Java和Python之间有一些可以结合的地方,而Linux在这些地方的支持非常好。

我知道Python社区有自己的ORM(对象关系映射)工具,但就我所知,那些选项在成熟度和功能上可能不如Hibernate/NHibernate。

我想几乎所有你能找到的选项都支持Oracle数据库。

撰写回答