Это было бы так же просто, как
var messages = context.ImportantMessages.Where(x => x.ImportantMessageUsers.Count() == 0);
EDIT
Мне кажется, я хорошо понял проблему, вам нужно получить все сообщения из таблицы ImportantMessages без какой-либо строки в таблице ImportantMessageUsers, которая связана с внешним ключом ImportantMessagesUsers.imuImpID = ImportantMessages.impID.
Пожалуйста, проверьте, есть ли у вас внешний ключ между этими таблицами, а затем удалите эти таблицы из конструктора контекста Linq и добавьте их снова - внешний ключ должен быть виден между ними, создавая такие свойства как ImportantMessages.ImportantMessageUsers, который имеет тип IEnumerable ImportantMessageUser, позволяющее использовать выражения типа x.ImportantMessageUsers.Count () == 0.
EDIT2
Когда идентификатор пользователя должен быть отфильтрован, это лямбда-выражение должно сработать:
var messages = context.ImportantMessages.Where(x => x.ImportantMessageUsers.Where(y => y.imuUserID == 6).Count() == 0);
Использование лямбды над нотацией LINQ является лишь вопросом предпочтения, однако, когда многократные объединения не требуются, лямбда, как правило, более интуитивно понятна.