Gentle.NET (hoy en versión 1.2.2) es un marco de persistencia de objetos .NET independiente del sistema de base de datos subyacente. Gentle.NET está disponible con código fuente en http://sourceforge.net/projects/gopf. Para leer la documentación ir directamente a:

http://www.mertner.com/confluence/display/Gentle/Documentation+Home

Un ejemplo de uso, copiado de la documentación:

[TableName]
public class User : Persistent
{
    private int userId;
    private string userName;

    // this is used by clients to construct new users
    public User( string userName ) : this( 0, userName ) {}

    // this is used by Gentle to reconstruct objects read from the database
    public User( int userId, string userName )
    {
        this.userId = userId;
        this.userName = userName;
    }

    // this is used by client to fetch users from the database
    static public User Retrieve( int userId )
    {
        Key key = new Key( typeof(User), true, "Id", userId );
        return Broker.RetrieveInstance( typeof(User), key ) as User;
    }

    [TableColumn("UserId"), PrimaryKey(AutoGenerated=true)]
    public int Id
    {
        get{ return userId; }
        set{ userId = value; }
    }

    [TableColumn(NotNull=true)]
    public string Name
    {
        get{ return userName; }
        set{ userName = value; }
    }
}
User ford = new User( "Ford Prefect" );
ford.Persist(); // save the new user and assign an id value
User prefect = User.Retrieve( ford.Id ); // retrieve the existing user