【发布时间】:2015-01-05 17:09:15
【问题描述】:
这是迄今为止一直有效的东西,现在它只是停止了工作(我知道,很奇怪,可能有一些愚蠢的错误..)
我有一个TripsVM,其中包含旅行列表。我将这些加载到我的服务中,返回一个List<>。
当我遍历trips 集合并尝试获取trip.TripCategory.Name 时会出现问题,因为TripCategory 是空的,即使TripCategoryID 有一个值。
这一切都发生在后端,我加载行程然后尝试迭代它们,它们不是从页面发送的。
我可能只是按行程本身加载行程,但它曾经可以工作,而且这个错误是在使用几个月后才出现的。
非常感谢任何关于在哪里寻找错误的建议。
谢谢
错误:
异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。
发生错误的地方:
foreach (Trip trip in tripsVM.TripsList) {
var a = trip.TripCategory.Name;
TripsVM:
private List<Trip> _TripsList;
public List<Trip> TripsList
{
get
{
if (_TripsList == null)
{
_TripsList = TripsService.GetTrips();
if (_TripsList == null)
_TripsList = new List<Trip>();
}
return _TripsList;
}
set { _TripsList = value; }
}
服务:
public static List<Trip> GetTrips()
{
return DB.Trips.Where(...).OrderBy(...).ToList();
}
旅行等级:
public partial class Trip
{
public int TripID { get; set; }
public int TripCategoryID { get; set; }
....
public virtual TripCategory TripCategory { get; set; }
}
【问题讨论】:
-
你读过我的Q吗??? ofc 不是,完全不同的主题,感谢您将我的 Q 标记为重复,请先阅读
-
很抱歉你有这种感觉,但链接的答案会帮助你。
-
如果你读过它,你就会知道它对我没有帮助。我浏览了该链接及其如何避免空引用错误的精彩集合,但正如我所说,在我的情况下,空引用错误是由其他一些错误引起的,您的帖子对这种情况没有帮助。
标签: c# asp.net entity-framework properties lazy-loading