Чтобы ответить на часть "использовать что-то вроде 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 #. Я предлагаю вам обратное: очистите свой разум, начните с нуля и убедитесь, что мощные инструменты доступны для ваших нужд.