Asp.net mvc razor视图中的MVC身份用户
我已通过外键将我的成员表与应用程序用户链接,如模型中所示Asp.net mvc razor视图中的MVC身份用户,asp.net-mvc,razor,asp.net-identity,Asp.net Mvc,Razor,Asp.net Identity,我已通过外键将我的成员表与应用程序用户链接,如模型中所示 public int MemberId { get; set; } public int? UserId { get; set; } [ForeignKey("UserId")] public ApplicationUser User { get; set; } 在Razor视图中,我希望能够检索用户详细信息,例如 @Model.User.FirstName 但我明白了 System.NullRefer
public int MemberId { get; set; }
public int? UserId { get; set; }
[ForeignKey("UserId")]
public ApplicationUser User { get; set; }
在Razor视图中,我希望能够检索用户详细信息,例如
@Model.User.FirstName
但我明白了
System.NullReferenceException: Object reference not set to an instance of an object.
不确定缺少了什么您必须使您的用户ID->用户关系虚拟化。因此:
public int? UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser User { get; set; }
将virtual
关键字添加到User
的声明中意味着它将是“延迟加载”的,这在很短的时间内意味着只要您引用User
对象,它就会从数据库加载数据
有关详细信息,请参见您必须将您的用户ID->用户关系设置为虚拟。因此:
public int? UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser User { get; set; }
将virtual
关键字添加到User
的声明中意味着它将是“延迟加载”的,这在很短的时间内意味着只要您引用User
对象,它就会从数据库加载数据
有关更多信息,请参见您应该声明
公共应用程序用户
虚拟
,即公共虚拟应用程序用户
您应该声明公共应用程序用户
虚拟
,即公共虚拟应用程序用户