/// <summary> /// Executes the command against the specified data /// source and transforms its results using the specified converter. /// </summary> /// <typeparam name="TResult">The type of the execution result.</typeparam> /// <param name="converter">The action to perform conversion with.</param> protected virtual TResult Execute <TResult>(Func <IDbCommand, TResult> converter) { using (IDbCommand command = CreateCommand()) { return(_provider.Execute(command, converter)); } }