3

我是 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”循环来生成保管箱。

4

1 回答 1

2

你在我回答过的另一篇文章中问了几乎相同的问题。我已经逐步说明了如何做到这一点,所以你不会出错:)

在 MVC 创建视图上保存多对多关系数据

于 2012-07-21T19:36:43.127 回答