了解实体框架中的空处理

时间:2014-04-24 19:47:40

标签: sql entity-framework nullreferenceexception

我有一个实体框架查询,其中包含以下行。

let company = pc.Contact.CompaniesContacts.FirstOrDefault().Company

如果您在SQL中直接执行此类操作并FirstOrDefault()返回null,则整个表达式的结果将为null。 (即company将为null。)

但是在Entity Framework中,如果FirstOrDefault()返回null,那么我会得到一个空引用异常。

有没有办法让Entity Framework在这里表现得更像SQL?

1 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

let company = pc.Contact.CompaniesContacts.FirstOrDefault() != null
             ? pc.Contact.CompaniesContacts.FirstOrDefault().Company
             : null