var temp=
(from t in db.Table
group t by t.UserId into g
select new {UserId = g.Key, PackageIds = g.Select(gg=>gg.PackageId)}).ToList();
var users = (from t in temp
where !mustHavePackages.Except(t.PackageIds).Any()
select t.UserId).ToList();
Something like this perhaps. You can add the 2nd part in the first part as well to make one call and not bring extra data, this is to show you the breakdown.