ASP.NET Core:获取外键时出现 NullReferenceException

ASP.NET Core: NullReferenceException on getting foreign key

提问人:John Nash 提问时间:4/16/2019 最后编辑:djeikybJohn Nash 更新时间:4/18/2019 访问量:565

问:

我正在为电脑俱乐部开发预订系统。

当我尝试获取实例的外键时,我得到了。NullReferenceException

例:

var queue = _db.Queues.First(q => q.Index == 1);
Console.WriteLine(queue.QueueId); // works fine (primary key)
Console.WriteLine(queue.Index); // works fine (simple property)
Console.WriteLine(queue.User.Id); // NullReferenceException (foreign key)

显然,本身不是 null,而是 null。这怎么可能?queuequeue.User

实体框架 外键 nullreferenceexception: asp.net-core-identity

评论

0赞 djeikyb 4/17/2019
从您的示例中不清楚该变量与 的关系。是什么证明你断言一个的非无效性意味着另一个的非无效性?另外,为什么要用 ASP Core Identity 来标记它?你能解释一下为什么它是相关的吗?queue1queue
0赞 John Nash 4/17/2019
@djeikyb忽略,我只是忘记删除它。它是出于测试目的而添加的queue1
0赞 John Nash 4/17/2019
@djeikyb我确实标记了asp net core identity,因为只有在调用时我才会收到异常 - 其他属性工作正常queue.User.IdQueue
0赞 Aarif 4/17/2019
do 如果为 null,则不会抛出异常queue.User?.IdUser

答:

0赞 Ryan 4/17/2019 #1

尝试在 EF Core 查询中使用。请参阅加载相关数据Include

using Microsoft.EntityFrameworkCore;

var queue =_db.Queues.Include(q => q.User).First(q => q.Index == 1);