我有一个数据库,其中包含表User
和UserDetail
。表之间的关系是1 : 0..1
。用户可以拥有UserDetail。
我首先使用最新的EF模型数据库。
问题:在对非现有引用进行查询时(User没有UserDetail)
var details = User.UserDetail.FirstOrDefault(u => u.userID == 1)
然后我收到错误
对象引用未设置为对象的实例
当用户有UserDetail时,一切正常。
如何查询非现有引用以获取var的详细信息?
答案 0 :(得分:0)
使用此:
User.UserDetail?.FirstOrDefault(...)
当null
为User.UserDetail
时,将返回null
,而不会尝试取消引用其值并在其上调用函数。
?.
被称为null-conditional operator或有时是零安全的导航操作员(甚至是猫王操作员),供您参考。
如果User
也可以是null
,您可以使用其中的几个来处理这种情况:
User?.UserDetail?.FirstOrDefault(...)