我是 MVC + EF Code First 的新手,对多对多关系有一些疑问。
我创建了 2 个具有多对多关系的表(用户资料和课程)。听起来很简单,但对我来说很复杂:
我想查看“用户配置文件”的“创建”视图,并为每个“课程”现有选项选中复选框,并能够将其保存到相应的数据库中。
我一直在阅读和寻找示例,但我没有解决这个问题(或找到关于这个特殊需求的任何相关信息(我发现类似的东西不适用)
我已经看过这篇文章,但它不是关于创建和不使用 EF (http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/updating-related-data-with- the-entity-framework-in-an-asp-net-mvc-application)
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”循环来生成保管箱。