Generic repository pattern using RavenDB