获取 ID 非常简单,您已经解决了这个问题。
不过,您的第二个问题涉及更多。
所以,这现在都是预发布的东西,但是您面临的常见问题是您正在使用新属性(或您的问题中的 Items 集合)扩展用户。
开箱即用,您将IdentityModel
在 Models 文件夹下获得一个名为的文件(在撰写本文时)。在那里你有几节课;ApplicationUser
和ApplicationDbContext
。要添加您的集合,Items
您需要修改ApplicationUser
该类,就像您在实体框架中使用的普通类一样。事实上,如果您快速浏览一下引擎盖,您会发现所有与身份相关的类(用户、角色等)现在都只是带有适当数据注释的 POCO,因此它们与 EF6 配合得很好。
接下来,您需要对AccountController
构造函数进行一些更改,以便它知道使用您的 DbContext。
public AccountController()
{
IdentityManager = new AuthenticationIdentityManager(
new IdentityStore(new ApplicationDbContext()));
}
现在为您的登录用户获取整个用户对象说实话有点深奥。
var userWithItems = (ApplicationUser)await IdentityManager.Store.Users
.FindAsync(User.Identity.GetUserId(), CancellationToken.None);
该行将完成工作,您将能够userWithItems.Items
随心所欲地访问。
高温高压