Я думаю, что лучшее, что вы можете сделать, - это сначала проверить, следует ли применить условие, а затем отфильтровать список.
Пример с использованием предоставленного вами кода.
var queryable = context.TransactionJournal.Where(s => s.TransactionDateTime <= transactionDate);
if (!string.IsNullOrEmpty(your_objet.Region)
{
var queryable = queryable.Where(x=>x.Region == your_objet.Region).AsQueryable();
}
if (!string.IsNullOrEmpty(your_objet.MCC)
{
var queryable = queryable.Where(x=>x.MCC == your_objet.MCC).AsQueryable();
}
Первая строка - это весь список, затем вы проверяете все параметры, которые у вас есть в форме, и оцениваете их, если значение имеет значение, примените фильтр к списку.
И в конце вы отфильтруете свой список.