I have a model Group:
public class GroupModel { [Key] public int GroupModelId { get; set; } [Required] [MaxLength(50)] [DataType(DataType.Text)] public string GroupName { get; set; } [Required] public virtual ICollection<FocusArea> FocusAreas { get; set; } ... And a model Focus:
public class FocusArea { public int FocusAreaId { get; set; } public FocusEnum Focus { get; set; } public List<ApplicationUser> ApplicationUser { get; set; } public virtual ICollection<GroupModel> GroupModel { get; set; } public enum FocusEnum { Psych, Medical, LivingWith } Group and Focus has a many-to-many relationship. My Controller is receiving:
public ActionResult GroupSearch(string[] focusSelected) // Values possible are Pysch, Medical and LivingWith { List<GroupModel> groups; ... Problem: I want to select the groups that have all the focus that are inside the focusSelected array.
What I've tried:
groups = groups.Where(t => t.FocusAreas.Where(x => focusSelected.Contains(x.Focus))).ToList()).ToList(); Obviously not working. Does anyone have another idea?