Aby odpowiedzieć na część „użyć czegoś jak jpa z C# " Polecam zmianę podejścia. JPA, jak podkreślono w komentarzach, to zestaw specyfikacji umożliwiających interoperacyjność ORM.
Podczas NPeristence istnieje, starając się wypełnić lukę między Java i C#, nie ma sensu w korzystaniu „kolejny JPA” gdy przemysł nie przyjmie go jako standardowego API.
To tak, jakby poprosić o korzystanie z funkcji języka Java w .NET (np. "can I implement an anonymous interface in .NET?"). Musisz żyć z faktem, że de facto standardowy ekwiwalent JPA dla C# obecnie nie istnieje, ponieważ 1) istnieją dwa główne "dostawcy" ORM (NHibernate i Entity Framework) i 2) EF nie przyjmuje NPA.
Jeśli potrzebujesz interoperacyjności bazy danych między MSSQL i MYSQL, wystarczy jeden z dwóch produktów o otwartym kodzie źródłowym, ale warto się tego nauczyć.
Mój szef powiedział, że aby nauczyć się języka Java, muszę zacząć zapomnieć o C#. Proponuję ci coś przeciwnego: oczyść umysł, zacznij od zera i zobacz, że dostępne są potężne narzędzia do twoich potrzeb.
czy to prawda? Myślałem, że JPA jest specyfikacją? – Nix
Tak, JPA to specyfikacja, wraz z pewnymi konkretnymi klasami, które pozwalają programistom uzyskać dostęp do ich implementacji z wyboru bez konieczności używania jakiegokolwiek kodu specyficznego dla implementacji ... chyba że zechcą. Java ma kilka takich specyfikacji. Inne przykłady to JAXB do porządkowania/rozpraszania XML oraz JAXP do transformacji, sprawdzania poprawności, wyszukiwania zapytań XML itp. Przydatne rzeczy. – spaaarky21