【发布时间】:2013-11-14 23:04:48
【问题描述】:
今天我遇到了奇怪的异常。我的数据库中有两个表,它们有一些链接的列。根据我的应用程序的逻辑,我必须对选择进行更新并将更新的列表发送到我的视图。所以,我的行为是这样的:
return View(repo.Enrollee.ToList().Select(p => {
p.SpecialtyCode = repo.EnrolleePlaces.FirstOrDefault(t =>
t.SpecialtyCode == p.SpecialtyCode).Specialty;
return p;
}).OrderByDescending(p => p.Update));
当我在Model 上创建foreach 时,一切正常,但是当我尝试使用@Model.Count() 计算模型的项目时,我得到了Nullreference。即使我将foreach 复制到第一个下方,我也会收到Nullreference。有什么想法吗?
【问题讨论】:
-
您的一个对象显然是
null。你已经通过调试器了吗? -
只有一行代码时,您将很难调试它。把它拆开。
-
可能是缓存在某处的旧代码。尝试构建>清洁解决方案和构建>重建。现在会发生什么?正如@MichaelPerrenoud 所建议的那样 - 将代码分成更小的可管理块并且更容易阅读。
-
是的,所有字段都不为空。这是我的第一个想法,但似乎这不是原因
-
另一个 +1 用于打破它。如果您传递像
return View(enrollees);这样的变量并在需要时将其分解为 2 或 3 个变量,您将保持理智。在需要的地方还要检查null。
标签: c# asp.net asp.net-mvc asp.net-mvc-3