我正在使用asp-net-core5开发web API!我有一个问题,我用EFCORE创建数据库,我想查询一个有外键的对象!
这是我的代码:
public long RefreshTokenId { get; set; }
public string JwtTokenId { get; set;}
public User user { get; set; }
public Int64 expirationTime { get; set; }
public string Token { get; set; }
public bool Revoked { get; set; }
根据efcore文档,在这个类中,我使用User Object作为一个具有一对一关系中的外键的对象!
这是我的问题:
public async Task<long> RefreshToken(RefreshRequest refreshRequest)
{
RefreshToken refreshToken = await Task.Run(() => {
return _appContext.refreshTokens.SingleOrDefault(x => x.Token ==
refreshRequest.refreshToken);
});
return refreshToken.user.UserId;
}
当我运行这个函数时,会抛出空指针异常!有人能解释一下如何用efcore检索用户对象吗?
尝试
public async Task<long> RefreshToken(RefreshRequest refreshRequest)
{
RefreshToken refreshToken = await Task.Run(() => {
return _appContext.refreshTokens.Where(x => x.Token ==
refreshRequest.refreshToken).SingleOrDefault();
});
return refreshToken.user.UserId;
}
主要问题是我想用外键加载相关数据,它有三个方法,下面的链接会对你有所帮助!
来自MicroSoft文档来自internt的教程!