(使用Identity Framework在Visual Studio 12上的ASP.NET MVC4)
拜托,我希望有人可以向我解释一下
这是第二种情况。第一个是在编辑1
我遇到了一个奇怪的情况。
在我的初始化文件中,在完成所有初始化之后,在将更改提交到DataContext
之前,每个Student
对象的Courses.Count()
大于0
,即5
或4
bob.Courses.Count();
mary.Courses.Count();
wei.Courses.Count();
john.Courses.Count();
jack.Courses.Count();
jill.Courses.Count();
dc.SaveChanges();
但是,稍后,当我试图像这样查询它们时......
var studentsCount = dc.Students.Count();
foreach (var st in dc.Students.ToList()) {
var coursesCount = st.Courses.Count(); // THIS LINE!!!
foreach (var crs in st.Courses.ToList()) {
if (crs.CourseId == cancellation.CourseBase.CourseId) {
var user = manager.FindByName(st.UserName);
cancellation.Users.Add(user);
}
}
}
...行var coursesCount = st.Courses.Count();
正在返回0
!
我不知道为什么。这些价值会在两者之间丢失吗?
我通过对值进行硬编码来初始化我的Course
对象
在我调试时,我可以看到Course
对象中的所有字段都有值,没有值null
。
的然而下,
当我这样查询时:
var courses = dc.Courses.ToList().Where(course => course.User.Id ==currentUserId);
*
并调试,我看到其中一个字段突然null
看起来这个值在初始化和检索之间的某处丢失了!
有没有人遇到过这个?
告诉我你是否需要查看更多代码。