Ваш запрос LINQ представляет выражение, которое еще не выполнено. Прямо сейчас ваш код пытается поместить этот запрос в переменную, которая должна быть объявлена как IQueryable (Of BaseCat). Если вы хотите выполнить запрос, чтобы получить результат, вы должны использовать Aggregate вместо From, чтобы выбрать что-то из результатов запроса, или вы должны использовать ToList или ToArray, чтобы преобразовать результаты в коллекцию или вы должны использовать функцию First, FirstOrDefault, Single или SingleOrDefault, чтобы выбрать один результат выполнения запроса.
Важно отметить разницу между самим запросом и результатами его выполнения. Если вы поместите запрос в переменную (IQueryable), вы сможете расширить этот запрос, выполнив другой запрос по этому запросу (например, Dim newQuery = From itm In myBase Where itm.MyDate <= Today
), и запрос все равно не будет выполнен, пока вы фактически не заставите его перечислить или выбрать результат. из него одним из вышеперечисленных способов или чем-то похожим.