Windows Phone 7 Database Rapid Repository V2.0 Released
Rapid Repository is a Windows Phone 7 Database and Silverlight Isolated Storage Database.
Rapid Repository requires no setup and the API has been designed to be easy to use and discoverable, you will be saving, updating, deleting and querying your complex entities within minutes.
There is no major learning curve, you will literally have a near full understanding of most of the repository within minutes of downloading and referencing the library.
The more advanced features such as querying with views and filters are still very easy to use and the tutorials provided will have you using them within minutes.
Download Rapid Repository from Microsoft Codeplex
Blog Tutorials
- Release Overview
- Creating and saving entities
- Create, read, update and delete operations
- Querying with views and filters
- Caching
- File Helper
- Examining Operation Requests
I will be adding some samples and video tutorials soon.
V2.0 Features
This is a full list of features within Rapid Repository V2.0
- Numerous methods for performing Create, Read, Update and Delete operations
- Add
- Update
- Delete
- Exists
- GetById
- GetAll
- Query
- Views & Filters
- A view is a subset of an entity which can be implemented to greatly improve querying speed and performance
- Filters are Where Conditions placed on the view to further filter the data
- Rapid Context
- The context is mainly used for performing any operations request by the repository
- It also allows access to all operation requests, this enables the examination and updating/deleting of any pending changes if required in more complex scenarios
- Entity Cache
- Entities are cached locally by default for improved performance, there are methods available for eager loading the cache at application start up and also for turning off caching on a per entity basis
- File Access Helper
- RapidRepository.File contains helper methods for storing file that are not entities such as an image byte array
Breaking Changes
RapidContext has moved from namespace RapidRepository.Context to the root namespace RapidRepository. This was done as the context should be a top level class.
A new OperationRequests property has been added to the RapidContext – this is now the way to access any pending requests.
Bug Fixes
There have been numerous improvements from V1.0, the main bug that has been fixed was a caching bug that sometimes caused the GetAll method to not load all entities.
Technical Details
The full source code and tests can be downloaded from or browsed on the Microsoft Codeplex site http://rapidrepository.codeplex.com/.
As an overview, the Rapid Repository is a document database which serialises and deserialises entities into Json and saves the json as text files within the Windows 7 Phone Isolated Storage.
Each saved entity has it’s own json file with a globally unique identifier (GUID) filename.
Views are stored slightly differently, instead of have a file per row, a view is stored in a single json file for the specific view type. An entity can have many different views.
Caching is turned on for each entity type by default, this can be turned off if required. The cache stores an in-memory representation of all entities used during the application session, this enables better performance when re-using the entities within an application session.
Summary
I’m really happy with the improvements in V2.0 and I especially think the Views and Filters feature will be really useful as it will greatly improve the speed of querying the data within the repository.
I hope you like it and would be really grateful for any feedback.
Kind Regards,
Sean McAlinden.