This project is read-only.

Project Description

A lightweight service/repository framework on top of mongoDB. This framework will allow any project developer to get up and running with a service/repository framework that will store and retrieve data from a mongoDB database. This project is still very much in an "alpha" development phase. However, there are many planned enhancements (see the project roadmap for more details).

Features

  • Provides a framework of Services and Repositories to help organize your code that will use mongoDB ad your data store.
  • The ability to interact with mongoDB using standard POCO's.
  • Store your models in one or more databases.
  • Provide a before and after save functionality that will always occur.

Why did I create this project?

I am currently working on a side project and when I started, I created the start of the code base for this project. I thought that this might be something that others were creating over and over. I created this project as a starting point to for any .Net project that will have a need to store and retrieve data from a mongoDB database.

Some technical details

This project is written in Visual Studio 2010 using C# 4.0. It utilized the mongo c# driver from the creators of mongoDB. For testing it is using xUnit.Net and moq.

Project Roadmap

This is a list of the items that are currently planned for future versions.
  • Add some examples to the documentation section of this site
  • Create a sample project that will utilize all of the functionality of this framework
  • Distribute via NuGet
  • Exposing more of the mongoDB functionality through the framework
  • Better exception/error handling
  • Soft-deleting of data rather than completely losing it forever
  • Record-level versioning (easier that creating and maintianing an audit trail collection)
  • Pre/Post delete functionality
  • Limits for the number of resulting records
  • Ordering of the records
  • Behaviors that will be applied to all queries through a given repository
  • Dynamic getters
  • Test and ensure that it runs on Mono
  • Any other crazy features that may be useful!

You can follow me on Twitter: @MarkStarkman

Last edited May 27, 2011 at 2:27 AM by mstarkman, version 11