Подтвердить что ты не робот

Что эквивалентно JPA в .NET?

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

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

4b9b3361

Ответ 2

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

Ответ 3

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

Ответ 4

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

Пока существует NPeristence, пытаясь заполнить пробел между Java и С#, нет смысла использовать "еще одну JPA", когда индустрия не принимает ее как стандартный API.

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

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

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

Ответ 6

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