//private ILogger<DefaultDatabase> _logger;

        //public IDatabaseEngine DatabaseEngine { get { return _databaseEngine; } }

        public DefaultDatabase(IDatabaseSettings databaseSettings, IDatabaseEngine databaseEngine, IDatabaseEntityDefFactory modelDefFactory, IDatabaseEntityMapper modelMapper, ISQLBuilder sqlBuilder /*, ILogger<DefaultDatabase> logger*/)
        {
            if (databaseSettings.Version < 0)
            {
                throw new ArgumentException("Database Version should greater than 0");
            }

            _databaseSettings = databaseSettings;
            _databaseEngine   = databaseEngine;
            _entityDefFactory = modelDefFactory;
            _modelMapper      = modelMapper;
            _sqlBuilder       = sqlBuilder;
            //_logger = logger;
        }
 public DatabaseEntityRetriever(IDbConnection connection, IDatabaseEntityMapper <T> mapper)
 {
     _connection = connection;
     _mapper     = mapper;
 }