public Task <List <T> > QueryAsync <T>(string sql, params object[] args) where T : new() { return(Task <List <T> > .Factory.StartNew( () => { SqliteSession conn = this.GetAsyncConnection(); using (conn.Lock()) { return conn.Query <T>(sql, args); } })); }