Safari Cell takes a relational SQL database and turns it into a DataSet with DataTables for every table, complete with DataRelations, UniqueConstraints, ForeignKeyConstraints and a few other handy things. All the ADO.NET Data objects are hidden behind classes that manage those entities by filling them with data from the database on an as-called-for basis. Modified data is cached and written later by a lazy-writer thread. Unused data is eventually removed from the cache. Any modified column is validated against any extra schema available from the DB server. Safari Cell scans the database schema at startup and exposes everything through typed classes.
The goal is to make it really easy to write business objects that operate on relational databases, to take advantage of fast caching, transactions, and all without writing any database plumbing code in the business object itself.
Source code is available for this project.
|
[edit] Latest News
|
|
