MVC用户身份
问题描述:
我已经通过外键链接我的成员应用用户表作为可以在模型MVC用户身份
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.
不知道缺什么
答
您必须使您的UserId->用户关系虚拟。所以:
public int? UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser User { get; set; }
添加virtual
关键字的User
的声明意味着这将是“懒加载”,这在非常短的条款意味着,只要你指的是User
对象,它从数据库加载数据。
欲了解更多信息,请参阅https://msdn.microsoft.com/en-us/library/jj574232(v=vs.113).aspx#Anchor_1
+0
嗯感谢我越来越盲目时下.... – Diin
你应该申报'公共ApplicationUser User''virtual',即'公共虚拟ApplicationUser User' – nbokmans