Вы немношк запутались )
Когда вы выполняете строку
var loadDb = db.Events.Where(l => l.cabinet == targetId.ToString());
У вас нет запроса к базе. В этой строке создается лишь сам запрос, то есть формируется sql код на основе вашего запроса. Он никуда в базу не отправляется. И присваивается в переменную loadDb
Далее, когда вы делаете, например,
case "G": loadDb = db.Events.Where(l => l.group == targetId.ToString()); break;
Вы в переменную loadDb записываете другой сформированный запрос. Вы просто перезаписываете переменную. Запросов к базе в таком случае так же не поступает.
Отвечая на ваш вопрос, скорее всего, вы хотите на один запрос наложить дополнительное условие. В вашем коде это будет выглядеть примерно так:
var loadDb = db.Events.Where(l => l.cabinet == targetId.ToString());
switch (targetType)
{
case "G": loadDb = loadDb.Where(l => l.group == targetId.ToString()); break;
...
А само выполнение запроса к базе происходит, когда вы вызываете методы, отдающие результат, например
var res = loadDb.ToList()