SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well. SharpRepository offers built-in caching options for AppFabric, Memcached and standard System.Runtime.Caching. SharpRepository also supports Specifications, FetchStrategies, Batches and Traits.
Check out the getting started guide. When you're done there, review the SharpRepository.Samples, SharpRepository.Tests.Integration and SharpRepository.Tests project for additional sample usage and implementation details.