数据库检索数据时访问的用户身份的附加属性可以说我使用asp.net的身份时,增加了几个附加属性设置为默认用户:使用EF和LINQ
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
我知道在我的asp.net MVC控制器我根本就下列以获得登录用户名当前:保存到数据库中,我可以简单地传递User.Identity.Name到我的仓库沿时
User.Identity.Name
所以我正在保存的对象因此可以填充CreatedBy字段。
现在我们可以说我从数据库中检索具有包含用户名字符串的CreatedBy字段的项目,但我想在视图中显示Created by:FirstName + LastName。
如何获取这些额外信息?如果我使用的是纯SQL,那么我会在AspNetUsers表上创建一个名为CreatedBy = Username的INNER JOIN,并简单地在名为CreatedByFullName的自定义列中检索FirstName和LastName。
因为我现在正在使用实体框架以及最新版本的ASP.NET身份,所以我有点困惑于我们如何检索用户信息以显示在我们页面的视图中。是在我的资源库中与linq进行连接的问题,还是仅将一个对象添加到每个名为ApplicationUser的属性中?或者有更好的方法吗?
我想你可能正在寻找...[ASP MVC5 - 身份。如何获取当前ApplicationUser](http://stackoverflow.com/questions/20925822/asp-mvc5-identity-how-to-get-current-applicationuser)。 –
@ErikPhilips获取当前的应用程序用户不是我所需要的。我需要一种从所有对象中的CreatedBy字段(包含字符串用户名)到让所有创建实体信息的用户在视图中显示的方式。有点像StackOverflow如何显示每个帖子在这里创建的人 –
您是否已经创建了这些对象(具有CreatedBy的对象)的*指向* ApplicationUsers表的导航属性?如果是这样,一个简单的'.Include(x => x.CreatedByUser)'是你需要的所有代码。 –