我有一个名为 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 的模型
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>
但我只从用户模型中获取日期,对 UserDetails 没有任何内容。所以我可以看到用户名、电子邮件和卷,但看不到名字或姓氏。
你能看出我哪里出错了吗?
谢谢