A set of reusable components ranging from a Generic EntityFramework Repository to a CachedRepository that uses EnterpriseLibrary.Caching block to minimise expensive queries