如何使用外键使用EFcore获取复杂对象



我正在使用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的教程!

相关内容

  • 没有找到相关文章

最新更新