Мне трудно понять, что мне нужно сделать, чтобы заставить это работать. Я изучаю ASP.NET MVC CodeFirst с EF. Если я создаю модель, я могу просто добавить контроллер для этой модели и добавить строительные леса для создания представлений, которые автоматически заботятся о CRUD. Но теперь у меня есть две модели, Project и Category. Они имеют отношение многие ко многим, и база данных спроектирована правильно с ассоциативной таблицей без необходимости создания отдельной модели для нее. Код для моделей это ....
public class Project
{
public int ProjectId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Testimonial { get; set; }
public virtual ICollection<Image> Images { get; set; }
public virtual ICollection<Category> Categories { get; set; }
public Project()
{
Categories = new HashSet<Category>();
}
}
public class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public ICollection<Project> Projects { get; set; }
public Category()
{
Projects = new HashSet<Project>();
}
}
Итак, я добавляю свои контроллеры и делаю строительные леса. Я вхожу и создаю свои категории просто отлично. Но когда дело доходит до моего представления Projects / Create, я хотел бы сделать так, чтобы все категории отображались в виде флажков. Кроме того, я хотел бы убедиться, что по крайней мере одна категория выбрана, прежде чем можно будет отправить форму для создания проекта. Как бы я это сделал?