ASP.NET MVC 5 - 身份。如何获取当前的ApplicationUser

我的项目中有一个Article实体,其中包含ApplicationUser名为的属性Author。如何获取当前记录的完整对象ApplicationUser?在创建新文章时,我必须将Author属性设置Article为当前属性ApplicationUser。


在旧的成员机制中它很简单,但在新的身份识别方法中,我不知道如何做到这一点。


我试着这样做:


为身份扩展添加using语句: using Microsoft.AspNet.Identity;

然后我尝试获取当前用户: ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == User.Identity.GetUserId());

但我得到以下异常:


LINQ to Entities无法识别方法'System.String GetUserId(System.Security.Principal.IIdentity)'方法,并且此方法无法转换为商店表达式。来源=的EntityFramework


慕沐林林
浏览 863回答 3
3回答

侃侃无极

我的错误,我不应该在LINQ查询中使用一个方法。正确的代码:using Microsoft.AspNet.Identity;string currentUserId = User.Identity.GetUserId();ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == currentUserId);
打开App,查看更多内容
随时随地看视频慕课网APP