Я новичок в MVC + EF Code First и сомневаюсь в отношении многих ко многим.
Я создал 2 таблицы, которые имеют отношения «многие ко многим» (профиль пользователя и курсы). Звучит просто, но для меня это оказалось довольно сложным:
Я хочу видеть представление "создать" "профиль пользователя" с установленными флажками для каждого из существующих параметров "курсов" и иметь возможность сохранять его в соответствующих базах данных.
Я читал и искал примеры, но мне не удалось решить эту проблему (или найти какую-либо связанную информацию об этой конкретной потребности (я нашел похожие вещи, которые не применялись)
Я уже видел эту статью, но она не о создании и не использовании EF (http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/updating-related-data-with- структура-сущности-в-приложении-ASP-NET-MVC)
public class UserProfile
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Courses> usercourses { get; set; }
}
public class Courses
{
public int CourseID { get; set; }
public string CourseDescripcion { get; set; }
public virtual ICollection<UserProfile> UserProfiles { get; set; }
}
public class UserProfileDBContext : DbContext
{
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Courses> usrCourses{ get; set; }
}
Контроллер создания:
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(UserProfile userprofile)
{
if (ModelState.IsValid)
{
db.UserProfiles.Add(userprofile);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(userprofile);
}
Что касается представления, я хотел бы иметь только цикл @foreach для создания раскрывающихся ящиков.