Как уже упоминалось BrokenGlass, вы должны использовать состав:
IQueryable<Foo> query = unfiltered.Where(p => p.CustomerID == custId);
if (locid != 0)
{
query = query.Where(p => p.LocationID == locid);
}
Обратите внимание, что запрос не выполняется до тех пор, пока вы не начнете читать данные из него, поэтому вам не нужно об этом беспокоитьсявыполнение нескольких запросов.
Похоже, что в исходном сообщении вы пытались использовать синтаксис запроса по частям - это не сработает, но «точечная нотация» здесь довольно проста.Вы всегда можете создать свой первоначальный запрос, используя выражение запроса, если хотите - опять же, этот запрос не будет выполнен сразу же.