У меня есть класс модели, унаследованный от IdentityUser
, который имеет отношение 1 к 1
public class CustomUser: IdentityUser
{
public ExtendedUserData ExtendedData { get; set; }
}
И у меня есть класс модели ExtendedData:
public class ExtendedUserData
{
public Guid Id { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string Contract { get; set; }
public string ExtendedDataOfCustomUserId { get; set; }
public CustomUser CustomUser { get; set; }
}
(сделано с помощью это учебное пособие по ядру EF )
Но, если я использую этот метод для получения данных
public ExtendedUserData GetExtendedUserDataById(Guid id)
{
return context.ExtendedUserDatas
.FirstOrDefault(x => x.ExtendedDataOfCustomUserId == id.ToString());
}
Я пытаюсь сделать так
ExtendedUserData userData = new ExtendedUserData();
userData = GetExtendedUserDataById(id);
....
userData.CustomUser.Id;
ИЛИ
userData.CustomUser.UserName;
Я получаю ошибку. как NullRefExc
Как я могу получить связанные данные от ExtendedUserData
(или mb CustomUser
), используя отношение 1 к 1?
Я думаю об этом, но помимо этого я не сделал больше ничего не придумаете
public ExtendedUserData GetExtendedUserDataById(Guid id)
{
ExtendedUserData ud = context.ExtendedUserDatas
.FirstOrDefault(x => x.ExtendedDataOfCustomUserId == id.ToString());
ud.CustomUser = context.CustomUsers
.FirstOrDefault(x => x.Id == id.ToString());
return ud;
}
Может быть, это можно сделать правильнее или короче?
Спасибо за ваши ответы!