私は RegisterViewModel と呼ばれるビューモデルを持っています -
public class RegisterViewModel
    {
        public string UserName { get; set; }
        public string Email { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
}
User と UserDetails という 2 つのモデル
public class User
    {
        [Key]
        public string UserName { get; set; }
        public string Email { get; set; }
        public virtual ICollection<Role> Roles { get; set; }
        public virtual UserDetails UserDetails { get; set; }
}
 public class UserDetails
    {
        [Key]
        public string UserName { get; set; }
        public string Firstname { get; set; }
        public string Lastname { get; set; }
        [Required]
        public virtual User User { get; set; }
}
私のユーザーコントローラーには、詳細メソッドとして次のものがあります-
public ViewResult Details(string id)
        {
            User user = context.Users
                .Include (i => i.UserDetails)
                .Where(i => i.UserName == id)
                .Single();
            user.UserDetails = new UserDetails();
            RegisterViewModel viewModel = new RegisterViewModel{
                UserName = user.UserName,
                FirstName = user.UserDetails.FirstName,
                LastName = user.UserDetails.LastName,
                Salary = user.UserDetails.Salary,
                Email = user.Email,
                Roles = user.Roles
            };
            return View(viewModel);
        }
そして私の詳細ビューで -
@model TRS.ViewModels.RegisterViewModel
<table>
<tr>
    <td>User Name</td>
    <td>@Model.UserName</td>
</tr>
<tr>
    <td>Email</td>
    <td>@Model.Email</td>
</tr>
<tr>
    <td>First Name</td>
    <td>@Model.FirstName</td>
</tr>
<tr>
    <td>Last Name</td>
    <td>@Model.LastName</td>
</tr>
<tr>
    <td>Roles</td>
    <td>@foreach (Role role in Model.Roles) {
        @role.RoleName<br />
    }</td>
</tr>
しかし、私は User モデルから日付を取得しているだけで、UserDetails には何も取得していません。したがって、ユーザー名、電子メール、およびロールは表示されますが、名または姓は表示されません。
ここでどこが間違っているかわかりますか?
ありがとう