什么是.NET中的JPA?

时间:2010-05-03 05:41:01

标签: c# .net jpa

我认为JPA很方便(更不用说标准化了,因为我们曾经让每个程序员用jdbc连接做他/她自己的事情)。

我想使用jpa和C#这样的东西到mysql和sqlserver。

6 个答案:

答案 0 :(得分:10)

JPA只是持久性对象的规范,而不是它的实现。您可以将npersistence视为与.NET相同,但您必须找到实现此规范的 ORM

答案 1 :(得分:4)

JPA不是Java ORM吗?

.NET有许多ORM工具,即

加上我最喜欢的

答案 2 :(得分:3)

存在C#的等价物,它叫做NPA(.NET Persistence API),这里有一些链接:

答案 3 :(得分:3)

要回答"部分使用jpa和C#" ,我建议更改方法。正如评论中所强调的那样,JPA是一组允许ORM互操作性的规范。

虽然存在NPeristence,试图填补Java和C#之间的空白,但是当行业没有采用它时,使用"还有另一个JPA" 是没有意义的标准API。

如果您要求在.NET中使用Java语言功能(例如" can I implement an anonymous interface in .NET?")。您必须忍受这样一个事实,即目前不存在事实上的标准JPA等效C#,因为1)有两个主要的ORM"供应商" (NHibernate和实体框架)和2)EF没有采用NPA。

如果你需要MSSQL和MYSQL之间的数据库互操作性,上面两个开源产品中的一个就足够了,但这是一件值得学习的事情。

我的老板说要学习Java我必须开始忘记C#。我建议你做相反的事情:清理你的想法,从头开始,看看有强大的工具可以满足你的需求。

答案 4 :(得分:1)

实体框架是您应该首先查看的内容。它是由Microsoft推荐的。

其他受欢迎的选项包括NHibernate或DBLinq。

http://community.jboss.org/wiki/NHibernateforNET

http://www.nhforge.org(更高版本)

http://code.google.com/p/dblinq2007/

答案 5 :(得分:0)

.Net Persistence Api在.Net中是等效的。 JPA及其.Net版本都是ORM供应商或开源社区可以实现的规范集。 Hibernate就像我们在.Net中拥有实体框架一样。当您在两个遵循JPA的ORM框架之间切换时,您不会期望代码中的任何更改能够适应此更改,因为两者都遵循相同的基础规范。