Это не сработает, потому что в машине может быть много частей, поэтому u.PARTS возвращает коллекцию.Существует много решений этой проблемы, вы можете начать с коллекции автомобилей (как вы это сделали), или вы можете начать с коллекции PARTS.Если бы вы начали с коллекции PARTS, она бы выглядела следующим образом:
var query = db.PARTS.Include(p => p.Car);
if(model.CarPartName != "")
query = query.Where(u => u.PART_NAME == model.CarPartName);
return query.Select(p => p.Car).Distinct().ToList();
С автомобилями:
var query = db.CARS.include(u => u.PARTS);
if(model.CarPartName != "")
query = query.Where(u => u.PARTS.Any( up => up.PART_NAME == model.CarPartName));
return query.ToList();
Примечание: я добавил первый, просто потому, что хотел показать, что происходитна.