C# 强制FirstOrDefault返回null
如果在列表中找不到元素,但返回空guid,则需要返回nullC# 强制FirstOrDefault返回null,c#,entity,C#,Entity,如果在列表中找不到元素,但返回空guid,则需要返回null mappedTypes.Where(x => x.ReferenceId == new Guid("1a087b71-638c-4f3c-b1cf-3b0438c181c0")).Select(x=>x.MappingId).FirstOrDefault() 这个查询只返回“00000000-0000-0000-0000-000000000000”-我想返回null-或者一个guid值(如果存在) 您可以通过强制转换到G
mappedTypes.Where(x => x.ReferenceId == new Guid("1a087b71-638c-4f3c-b1cf-3b0438c181c0")).Select(x=>x.MappingId).FirstOrDefault()
这个查询只返回“00000000-0000-0000-0000-000000000000”-我想返回null-或者一个guid值(如果存在) 您可以通过强制转换到
Guid?
来选择它:
mappedTypes.Where(x => x.ReferenceId == new Guid("1a087b71-638c-4f3c-b1cf-3b0438c181c0"))
.Select(x => (Guid?) x.MappingId)
.FirstOrDefault();
另见:
您可以使用
?。
像这样检查空值:mappedTypes.FirstOrDefault(a=>a.ReferenceId==new Guid(“1a087b71-638c-4f3c-b1cf-3b0438c181c0”)?.MappingId代码>FirstOrDefault()导致该错误。Guid的默认值为空Guid。您的查询要求至少返回一条记录,但它根本无法返回任何记录,因此它使用默认值。实际上,这是你让它做的。