C# 在.NET中JPA的等价物是什么?

C# 在.NET中JPA的等价物是什么?,c#,.net,jpa,C#,.net,Jpa,我认为JPA很好,也很方便(更不用说标准化了,因为我们曾经让每个程序员用jdbc连接做他/她自己的事情) 我想在C#到mysql和sqlserver中使用类似jpa的东西。实体框架是您应该首先检查的。这是微软推荐的 其他流行的选项包括NHibernate或DBLinq (较新版本) JPA不只是一个Java ORM吗 NET有许多ORM工具,即 还有我最喜欢的 JPA只是持久性对象的规范,而不是其实现。你可以在.NET上看到它的等价物,但你也必须找到一个实现此规范的ORM。存在

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


我想在C#到mysql和sqlserver中使用类似jpa的东西。

实体框架是您应该首先检查的。这是微软推荐的

其他流行的选项包括NHibernate或DBLinq

(较新版本)


JPA不只是一个Java ORM吗

NET有许多ORM工具,即

还有我最喜欢的


JPA只是持久性对象的规范,而不是其实现。你可以在.NET上看到它的等价物,但你也必须找到一个实现此规范的ORM

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

要回答“在C#中使用类似jpa的东西”,我建议改变方法。正如评论中强调的,JPA是一组允许ORM互操作性的规范

虽然NPERIENCE存在,试图填补Java和C#之间的空白,但当业界不将其作为标准API时,使用“另一个JPA”是没有意义的

这就像您要求在.NET中使用Java语言功能一样(如“”)。您必须接受这样一个事实,即C#的事实上的标准JPA等价物目前并不存在,因为1)有两个主要的ORM“供应商”(NHibernate和Entity Framework),2)EF不采用NPA

如果您需要MSSQL和MYSQL之间的DB互操作性,上面两个开源产品中的一个就足够了,但这是需要学习的全部内容


我的老板说要学习Java,我必须开始忘记C。我建议您采取相反的做法:理清思路,从头开始,看看有哪些功能强大的工具可以满足您的需要。

.Net持久性Api与.Net中的等效。JPA和它的.Net对应物都是ORM供应商或开源社区可以实现的规范集。Hibernate是一种类似于.Net中实体框架的实现。当您在遵循JPA的两个ORM框架之间切换时,您不会期望代码中有任何变化来适应这种变化,因为两者都遵循相同的底层规范

亚音速也应该在列表中。活动记录是城堡活动记录,它位于NHibernate的顶部。FluentNHibernate是位于NHibernate之上的另一个选项。JPA是ORM应该实现的规范。它本身不是ORM。这个答案是误导和错误的!JPA不是ORM,它是ORM的规范,这是非常不同的!JPA不是ORM,而是规范。JPA有很多ORM实现,比如eclipselink和hibernate实现了它?我以为JPA是一个规范?是的,JPA是一个规范,还有一些具体的类,允许开发人员访问他们选择的实现,而不必使用任何特定于实现的代码。。。除非他们愿意。Java有一些这样的规范。其他示例包括用于XML编组/解编的JAXB和用于XML转换、验证、查询等的JAXP。这些都是有用的东西。Entity Framework是微软的产品,所以他们当然推荐它。该产品已经过时,自5年前推出以来,从未真正获得过任何发展