var items = db.Item.Where(i => i.Employee == emp.id)
var employee = db.Employee.Where(em => em.Name == selectedItem.Text);
var emp = employee.First();
var employeeQuery = db.Employee.Where(em => em.Name == selectedItem.Text);
var emp = employeeQuery.First();
var emp = db.Employee.Where(em => em.Name == selectedItem.Text).First();
var employeeQuery = db.Employee.Where(em => em.Name == selectedItem.Text);
foreach (var emp in employeeQuery) { ... } // так работать не будет
На работу алгоритма добавление .ToList() не влияет.
Единственная польза, возможно, во время отладки - сразу посмотреть что вернул запрос, может там и нет ничего.