Rozhraní .NET Persistence API - .NET Persistence API
The Rozhraní .NET Persistence API, označovaný také jako NPA, je vytrvalost a objektově-relační mapování (ORM) specifikace pro .NET Framework.[1]
NPA je založen na Java Persistence API (JPA), což je standardní API pro perzistenci v Jáva svět. NPA následuje JPA tím, že poskytuje kompletní persistence API a bohatou sadu funkcí ORM.[2][3]
Motivace
Hlavní účely rozhraní .NET Persistence API (NPA) jsou:[2]
- Chcete-li poskytnout rozhraní API pro perzistenci bez dodavatele pro .NET, usnadnit přechod z jednoho poskytovatele perzistence na jiného (vyhnout se zámek dodavatele ).
- Chcete-li poskytnout cross-language persistence API rozšířením populární Java Persistence API (JPA) do všech programovacích jazyků .NET.
Technologie
Mezi hlavní vlastnosti NPA patří:[4][5]
- Objektově orientované API pro práci s databázemi (obvykle RDBMS).
- Dotazovací jazyk založený na SQL pro načítání dat z databáze objektově orientovaným způsobem.
- Podpora přetrvávající POCO (obyčejné staré objekty CLR) objekty (entity).
- Dvě metody pro označení tříd jako tříd entit a pro určení dalších nastavení:
- Použití atributů - metadata jsou vložena do definic tříd ve zdrojovém kódu.
- Použití externího XML - metadata jsou specifikována v externím XML zdrojové soubory.
Implementace
NPA je specifikace perzistence. Chcete-li použít NPA, je vyžadována implementace specifikace. Dodavatelé perzistence a ORM mohou poskytovat své vlastní implementace NPA.
První implementace, NPA pro NHibernate, byla vydána v prosinci 2011.[6][7]
Reference
- ^ NPersistence | SPS pro platformu .NET
- ^ A b "Časté dotazy | NPersistence". Archivovány od originál dne 26.04.2012. Citováno 2018-08-24.
- ^ c # - Jaký je ekvivalent JPA v .NET? - Přetečení zásobníku
- ^ "Reference API". Archivovány od originál dne 26.04.2012. Citováno 2018-08-24.
- ^ NPersistence - NuGet musí mít
- ^ „NPA pro NHibernate“. Archivovány od originál dne 26.04.2012. Citováno 2011-12-30.
- ^ Jaký je ekvivalent Java Persistence API pro .NET? - Fóra AnandTech