Как насчет того, чтобы не добавлять это where
, если вам не нужно?
IQueryable<ItemFile> pressReleases = from file in connection.ItemFile
where file.Type_ID == 8
select file;
if(!string.IsNullOrEmpty(Category)) {
pressReleases = pressReleases.Where(file => file.Category == Category);
}
Это работает, потому что запросы LINQ компонуются с отложенным выполнением, поэтому этот фильтр все еще является частью окончательного TSQL.