我的网站中有“地点”列。在数据库中有单独的表,
国家 州 市 区域
这些所有表id都存储在Locations表中,然后Location Table Id被引用到candidatedetails中的LocationId。
我的问题是,我想显示候选人存储的位置。
例如:
地点:城市,这样的国家。如果locationId为null,则表示显示
“对象引用未设置为对象”
所以我使用如下代码,
<strong>Present Location:</strong>
<%if (Model.LocationId.HasValue)
{ %>
<%:Model.GetLocation(Model.LocationId.Value).City.Name%><%:","%><%:Model.GetLocation(Model.LocationId.Value).Country.Name%>
<%} else { %>
<%:Model.LocationId == null ? "" : Model.GetLocation(Model.LocationId.Value).City.Name%><%:","%><%:Model.GetLocation(Model.LocationId.Value).Country.Name%>
<%} %>
在存储库中:
public Location GetLocation(int locationId)
{
return _db.Locations.SingleOrDefault(l=>l.Id==locationId);
}
但我仍然对上述代码有误...有人可以帮帮我吗?
答案 0 :(得分:0)
SingleOrDefault
将为类返回“{1}}”默认值,因此即使检查null
也是非法的,因为LocationId
将是结果,{{ 1}} - 因此,您需要对模型进行空检查。如果它是某些东西而不是没有那么它就是一个位置实例。