Content deleted Content added
Moshehoadley (talk | contribs) No edit summary |
HeyElliott (talk | contribs) |
||
(32 intermediate revisions by 22 users not shown) | |||
Line 1:
The '''.NET Persistence API''', also referred to as '''NPA''', is a persistence and [[object–relational mapping]] (ORM) specification for the [[.NET Framework|.NET framework]].<ref>[http://www.npersistence.org/ NPersistence | JPA for the .NET platform]</ref>
NPA is based on the [[Java Persistence API]] (JPA), which is the standard persistence API in the [[Java (programming language)|Java]] world. NPA follows JPA by providing a complete persistence API and a rich set of ORM features.<ref name=autogenerated1>{{Cite web |url=http://www.npersistence.org/faq |title=FAQ {{!}} NPersistence |access-date=2018-08-24 |archive-url=https://web.archive.org/web/20120426082101/http://www.npersistence.org/faq |archive-date=2012-04-26 |url-status=dead }}</ref><ref>[https://stackoverflow.com/questions/2756307/what-is-the-equivalent-of-jpa-in-net c# – What is the equivalent of JPA in .NET? – Stack Overflow]</ref>
==
The main purposes of the .NET Persistence API (NPA) are:<ref name=autogenerated1 />
* To provide a vendor-free persistence API for .NET, making switching from one persistence provider to another easier (avoiding [[vendor lock-in]]).
* To provide a cross-language persistence API by extending the popular [[Java Persistence API|Java Persistence API (JPA)]] to all the .NET programming languages.
==
The main features of NPA include:<ref>{{Cite web |url=http://www.npersistence.org/api-reference |title=API Reference |access-date=2018-08-24 |archive-url=https://web.archive.org/web/20120426082146/http://www.npersistence.org/api-reference |archive-date=2012-04-26 |url-status=dead }}</ref><ref>[http://nugetmusthaves.com/Package/NPersistence NPersistence – NuGet Must Haves]</ref>
* Object-oriented API for working against databases (usually RDBMS).
* Query language, based on SQL, for retrieving data from the database in an object oriented manner.
* Support of persisting [[Plain Old CLR Object|POCO (plain old CLR objects)]] objects (entities).
* Two methods for marking classes as entity classes and for specifying other settings:
** Using attributes – meta data is embedded in class definitions in the source code.
** Using external XML – meta data is specified in external [[XML]] resource files.
== Implementations ==
NPA is a persistence specification. To use NPA an implementation of the specification is required.
Persistence and ORM vendors can provide their own implementations of NPA.
First implementation, NPA for [[NHibernate]], was released in December 2011.<ref>{{Cite web |url=http://www.npersistence.org/nhibernate |title=NPA for NHibernate |access-date=2011-12-30 |archive-url=https://web.archive.org/web/20120426082225/http://www.npersistence.org/nhibernate |archive-date=2012-04-26 |url-status=dead }}</ref><ref>[https://archive.today/20130928184005/http://forums.anandtech.com/archive/index.php/t-2108535.html What is the equivalent of Java Persistence API for .NET? – AnandTech Forums]</ref>
== References ==▼
{{Reflist}}
== External links ==
{{Wikibooks|.NET Development Foundation}}
*{{Official website|www.npersistence.org}}
{{.NET Framework}}
{{DEFAULTSORT:NET Persistence API}}
[[Category:.NET|Persistence API]]
▲== References ==
[[Category:Object–relational mapping]]
[[Category:Cross-platform software]]
|