在ASP.NET </t>中缺少List <t>映射

时间:2014-01-09 20:13:17

标签: c# asp.net entity-framework

我有一个名为Course的类和一个用户类。

public virtual ICollection<ApplicationUser> Subscribers { get; set; }

这是我的懒惰加载用户集合的样子,这是Course类中的一个集合。

同样适用于包含课程集合的User类。

这两者之间的关系定义如下

modelBuilder.Entity<ApplicationUser>().HasMany(z => z.Courses).WithMany();
modelBuilder.Entity<Course>().HasMany(z => z.Subscribers).WithMany();
base.OnModelCreating(modelBuilder);

当我输入课程和用户的实体框架表时,它们不包含我在这些类中定义为属性的任何列表,因此我无法使用它们来保存数据。

请告诉我原因是什么。

方法示例

var course = db.Courses.Find(id);
var user = userManager.FindByName(User.Identity.Name);
if (!user.Courses.Contains(course))
{
    user.Courses.Add(course);
    db.SaveChanges();
    var item = db.Courses.Where(i => i.Title == course.Title);
    return Content(item.First().Title);
    ---> Verified that course is in the database.
}

在我将用户重定向到他的课程后,课程列表再次为空。

0 个答案:

没有答案