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