Что эквивалентно JPA в .NET? - PullRequest
14 голосов
/ 03 мая 2010

Я думаю, что JPA хорош и удобен (не говоря уже о стандартизации, так как раньше каждый программист делал свое дело с подключением jdbc).

Я хотел бы использовать что-то вроде jpa с C # для mysql и sqlserver.

Ответы [ 6 ]

10 голосов
/ 11 января 2012

JPA - это просто спецификация для персистентных объектов, а не ее реализация. Вы можете видеть npersistence как эквивалент этого в .NET, но также вы должны найти ORM , который реализовал эту спецификацию.

5 голосов
/ 03 мая 2010

Разве JPA не является просто Java ORM?

.NET имеет много инструментов ORM, а именно

и плюс мой любимый

3 голосов
/ 15 октября 2014

Чтобы ответить на часть "использовать что-то вроде jpa с C #" , я рекомендую изменить подход. JPA, как отмечено в комментариях, представляет собой набор спецификаций, обеспечивающих совместимость ORM.

Несмотря на то что NPeristence существует, пытаясь заполнить пробел между Java и C #, нет смысла использовать «еще один JPA» , когда отрасль не принимает его в качестве стандартного API.

Это похоже на запрос об использовании функций языка Java в .NET (например, " могу ли я реализовать анонимный интерфейс в .NET? "). Вы должны согласиться с тем фактом, что де-факто стандартного эквивалента JPA для C # в настоящее время не существует, поскольку 1) есть два основных «поставщика» ORM (NHibernate и Entity Framework) и 2) EF не принимает NPA.

Если вам нужна совместимость БД между MSSQL и MYSQL, то подойдет один из двух приведенных выше продуктов с открытым исходным кодом, но это целая вещь для изучения.

Мой начальник сказал, что для изучения Java я должен начать забывать C #. Я предлагаю вам обратное: очистите свой разум, начните с нуля и убедитесь, что мощные инструменты доступны для ваших нужд.

3 голосов
/ 02 февраля 2012

Существует эквивалент для C #, и он называется NPA (.NET Persistence API), вот некоторые ссылки:

1 голос
/ 03 мая 2010

Entity Framework - это то, что вы должны проверить в первую очередь. Рекомендовано Microsoft.

Другие популярные опции включают NHibernate или DBLinq.

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

http://www.nhforge.org (более поздние версии)

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

0 голосов
/ 24 марта 2016

.Net Persistence Api является эквивалентом в .Net. Как JPA, так и его аналог .Net представляют собой набор спецификаций, которые могут реализовать вендоры ORM или сообщество open source. Hibernate - одна из таких реализаций, как у нас есть Entity Framework в .Net. Когда вы переключаетесь между двумя средами ORM, которые придерживаются JPA, вы не ожидаете каких-либо изменений в коде, чтобы приспособиться к этим изменениям, поскольку обе они следуют одной и той же базовой спецификации.

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