LINQ FirstOrDefault我得到'Sequence contains no elements'.
int? locationId = _ctx.m_locations.FirstOrDefault(
l => l.name.ToLower() == countyOrTown.ToLower()
).location_key;
Run Code Online (Sandbox Code Playgroud)
我认为FirstOrDefault的重点是,如果数据库中没有条目并且只返回null,它不会引发异常?
因为正如你自己所说,.FirstOrDefault()将返回一个NULL值,你需要首先检查该NULL,并且只有当它NOT NULL访问它的.location_key属性时:
int? locationId = null;
var firstOrDefault = _ctx.m_locations.FirstOrDefault(l => l.name.ToLower() == countyOrTown.ToLower());
if(firstOrDefault != null)
locationId = firstOrDefault.location_key;
Run Code Online (Sandbox Code Playgroud)