Persist.NET is a persistence framework entirely written in C# and available under LGPL license.

This project is partially based on the java implementation of Artem Rudoy, wich uses Scott Ambler's white paper as a design source.

Main features of Persist.NET :

  1. Complete Database Abstraction: By calling the Retrieve, Save, Delete methods of your persistent objects, Persist.NET automatically performs the corresponding action on your database.
  2. Associations : By declaring object associations in your schema, it is possible to execute update or delete operations on associated objects.
  3. Transactions : Implicit (using Attributes) or explicit transaction mechanism is available.
  4. Locking : Optimistic lock is available.
  5. Multi-database support :Any ADO.NET driver can be used to access database : OleDb,Sql,Oracle,MySQL,PostgreSQL,...

Status :

Persist.NET is still Beta software, some features are missing (essentially the cache mechanism). But it is pretty stable and runs very well even on large databases.

Mailing lists :

There is two mailing list available on sourceforge

  1. persistdotnet-announce : Very low traffic, only used for main announcements (Register here)
  2. persistdotnet-devel : Main developement mailing list, here come questions, patches, comments, ...(Register here)

Thanks :

A big thanks to Mikael, Marc and Stephane for tests and advices

Copyright (c) Vincent Daron 2002-2003