【发布时间】:2014-03-07 19:47:54
【问题描述】:
我在运行 Linq 查询时遇到问题我收到错误 Object reference not set to an instance of an object.
var RestaurantName = (from r in objCtx.Restaurants
where r.id == item.restaurantid
select r).SingleOrDefault<Restaurant>().Name;
然后我将查询更改为
var RestaurantName = (from r in objCtx.Restaurants
where r.id == item.restaurantid
select r).Single<Restaurant>().Name;
但我收到了错误Sequence contains no elements。我检查了变量,它返回了一个餐厅名称。但我不明白为什么会收到这些错误。
【问题讨论】:
-
Sequence contains no elements表示查询结果中没有项目。这就是为什么SingleOrDefault()返回null而你得到一个NullReferenceException。检查您的查询条件。 -
您是否尝试过这样编写查询:var RestaurantName = (from r in objCtx.Restaurants where r.id == item.restaurantid select r.Name).SingleOrDefault();
-
NullReferenceException的几乎所有情况都是相同的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。
标签: c# asp.net asp.net-mvc linq nullreferenceexception