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;
public User( string userName ) : this( 0, userName ) {}
public User( int userId, string userName )
{
this.userId = userId;
this.userName = userName;
}
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();
User prefect = User.Retrieve( ford.Id );