public static IEnumerable <T> query <T> (this sqlite3 db, string sql, params object[] a) where T : class, new() { using (sqlite3_stmt stmt = db.prepare(sql, a)) { while (raw.SQLITE_ROW == stmt.step()) { yield return(stmt.row <T>()); } } }