我使用 LINQ FirstOrDefault 得到“序列不包含任何元素”。
int? locationId = _ctx.m_locations.FirstOrDefault(
l => l.name.ToLower() == countyOrTown.ToLower()
).location_key;
我认为 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;
关于c# - 序列不包含具有 LINQ FirstOrDefault 的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5018817/