Project Description
A simple database like wrapper that uses text based files (such as JSON or XML) on disk. Ideal for simple, low use websites or desktop applications.

Maintainer... Paul Kohler, http://www.pksoftware.net/

Essentially it's a wrapper around some JSON serialization calls for reading and writing objects to disk using the object Type Name and an ID of some sort. The result is a "repository" class you can use in small web sites that can be backed up as a ZIP file and easily managed because they are plain text.

What's the advantage of this sort of thing? It's a "loose typed" development of a system. You can over time add properties etc to the model classes as required and thing just keep going, the old files don' populate the values, new ones do...

The project came about as a need for a simple form of file storage that was human readable. The original plan was XML (can still be) but JSON was a simple format for a non-techo to deal with if required.

You can create a "repository" class and access data using some generics like so (from the sample in the test website - http://filesystemdatabase.codeplex.com/SourceControl/changeset/view/19484#516996)


// get all people...
Person[] people = Repository.GetAll<Person>();

// get a Pet instance (where "Kofi" is the "ID" of the "Pet" object)
Pet myDog = Repository.Get<Pet>("Kofi");

// save changes
Repository.Save(myDog);



Current Release: Beta Preview Release

Last edited Mar 26, 2009 at 2:50 AM by paulkohler, version 5