async Task <object> DeserializeNested <R>(DbClient conn, string column, object value, ReferenceType refType) where R : new() { SelectQuery <R> query = new SelectQuery <R>(builder); query.Where(column, value); List <R> result = await conn.Execute <R>(query); switch (refType) { case ReferenceType.Singular: return(result.FirstOrDefault()); case ReferenceType.List: return(result); case ReferenceType.Array: return(result.ToArray()); default: goto case ReferenceType.Singular; } }