我有一个名为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.
}
在我将用户重定向到他的课程后,课程列表再次为空。