Я начинаю с генерации токена refre sh и сохранения его на SQL сервере через Entity Framework Core следующим образом:
var refreshToken = new RefreshToken { User = user, Token = Guid.NewGuid().ToString() };
_context.RefreshTokens.Add(refreshToken);
_context.SaveChanges();
_context
наследуется от Microsoft.EntityFrameworkCore.DbContext
.
На данный момент _context.RefreshTokens.ToList();
содержит один предмет. Id
, Token
и User
не равны NULL, и я могу получить доступ к данным в User
.
Вызывается другая конечная точка API, и внутри я получаю список RefreshTokens следующим образом
var l = _context.RefreshTokens.ToList();
l.Id
заполнено, l.Token
заполнено, l.User
пусто.
Это создает проблему, потому что мне нужен доступ к пользователю, связанному с RefreshToken
Я пытался получить _context.Users.ToList();
, и пользователь, который был установлен ранее, присутствует в этом списке.
Мое первоначальное предположение было, что EF может не запрашивать user
, пока это не понадобится, поэтому я попытался получить l.User.Id
из приведенного выше фрагмента, но он выдает следующие ошибки:
System.NullReferenceException: для ссылки на объект не задан экземпляр объекта
Почему поле в сущности, которое я только что сохранил, null при его вызове?