我认为JPA很方便(更不用说标准化了,因为我们曾经让每个程序员用jdbc连接做他/她自己的事情)。
我想使用jpa和C#这样的东西到mysql和sqlserver。
答案 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(更高版本)
答案 5 :(得分:0)
.Net Persistence Api在.Net中是等效的。 JPA及其.Net版本都是ORM供应商或开源社区可以实现的规范集。 Hibernate就像我们在.Net中拥有实体框架一样。当您在两个遵循JPA的ORM框架之间切换时,您不会期望代码中的任何更改能够适应此更改,因为两者都遵循相同的基础规范。