实体框架和与用户合作

本文关键字:用户 框架 实体 | 更新日期: 2023-09-27 18:19:47

我使用默认身份验证进行站点设置,该身份验证是visualstudio 2015默认项目中的标准身份验证。我注册了一个用户,检查了我是否可以登录、注销等,一切都很好。

然而,我随后将其中一个类中的一个字段从其他字段更改为applicationUser,这需要数据库更新。更新后,我的用户仍在数据库中,但不会通过ApplicationDbContext返回。我创建的每个新用户都很好,但第一个用户只存在于数据库中。

在我创建了更多的用户后,我尝试通过ApplicationDbContext更新一个用户的密码。用户和这看到该用户从结果中消失,但数据库中也没有。

所以我有两个问题,为什么会发生这种情况,更新用户密码、电子邮件等内容的正确方法是什么?

对于某些示例代码:

user = await store.FindByNameAsync("kidshibuya@gmail.com");
DB.Users.ToList()

以上两项都不返回该电子邮件的用户(用户名就是电子邮件),但它绝对在数据库中。

实体框架和与用户合作

要更改asp.net身份中的密码,请使用以下代码:

ApplicationUser user = await store.FindByIdAsync(userId);
await store.SetPasswordHashAsync(user, hashedpwd);
await store.UpdateAsync(user);