public DbConnection CreateConnection(string nameOrConnectionString)
		{
			if (nameOrConnectionString == null)
			{
				throw new ArgumentNullException("nameOrConnectionString");
			}

			var wrappedConnectionString = "wrappedProvider=" +
				providerName + ";" +
				nameOrConnectionString;

			var cachingConnection =
				new CachingConnection()
				{
					ConnectionString = wrappedConnectionString,
					CachingPolicy = CachingPolicy.CacheAll,
					Cache = cache
				};

			return cachingConnection;
		}
		/// <summary>
		/// Initializes a new instance of the CachingTransaction class.
		/// </summary>
		/// <param name="transaction">The transaction.</param>
		/// <param name="connection">The connection.</param>
		public CachingTransaction(DbTransaction transaction, CachingConnection connection)
			: base(transaction, connection)
		{
		}