- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 ASP.NET Identity 2.2。我正在将 ASP.NET 旧成员身份迁移到新身份系统。我正在按照 this article 中提到的步骤进行操作用于执行迁移。
我扩展了 IdentityUser
并添加了如下几个属性:
public partial class AspNetUser : IdentityUser
{
public AspNetUser()
{
CreateDate = DateTime.Now;
IsApproved = false;
LastLoginDate = DateTime.Now;
LastActivityDate = DateTime.Now;
LastPasswordChangedDate = DateTime.Now;
LastLockoutDate = DateTime.Parse("1/1/1754");
FailedPasswordAnswerAttemptWindowStart = DateTime.Parse("1/1/1754");
FailedPasswordAttemptWindowStart = DateTime.Parse("1/1/1754");
Discriminator = "AspNetUser";
LastModified = DateTime.Now;
this.AspNetUserClaims = new HashSet<AspNetUserClaim>();
this.AspNetUserLogins = new HashSet<AspNetUserLogin>();
this.AspNetRoles = new HashSet<AspNetRole>();
}
....
public virtual Application Application { get; set; }
public virtual ICollection<AspNetUserClaim> AspNetUserClaims { get; set; }
public virtual ICollection<AspNetUserLogin> AspNetUserLogins { get; set; }
public virtual ICollection<AspNetRole> AspNetRoles { get; set; }
}
AspNetUser
类中还有一些属性,为简洁起见未包括在内。
我能够使用身份系统成功注册用户:
var manager = new ApplicationUserManager();
var user = new AspNetUser
{
UserName = UserName.Text.Trim(),
Email = Email.Text.Trim()
};
var result = manager.Create(user, Password.Text);
但是,当我通过电子邮件地址/用户名搜索任何用户时,出现异常:
var existingUser = manager.FindByEmail(emailAddress);
错误是:
The property 'Claims' on type 'AspNetUser' is not a navigation property.
The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method.
如果我从 AspNetUser
类中删除 AspNetUserClaims
属性,那么我会得到一个新错误列表:
Schema specified is not valid. Errors:
The relationship 'JanEntities.FK__AspNetU__Appli__628FA481' was not loaded because the type 'MyEntities.AspNetUser' is not available.
The following information may be useful in resolving the previous error:
The required property 'AspNetUserClaims' does not exist on the type 'SampleApp.Core.AspNetUser'.
The relationship 'MyEntities.AspNetUserRole' was not loaded because the type 'MyEntities.AspNetUser' is not available.
The following information may be useful in resolving the previous error:
The required property 'AspNetUserClaims' does not exist on the type 'SampleApp.Core.AspNetUser'.
The relationship 'MyEntities.FK_dbo_AspNetUserClaim_dbo_AspNetUser_User_Id' was not loaded because the type 'MyEntities.AspNetUser' is not available.
The following information may be useful in resolving the previous error:
The required property 'AspNetUserClaims' does not exist on the type 'SampleApp.Core.AspNetUser'.
The relationship 'MyEntities.FK_dbo_AspNetUserLogin_dbo_AspNetUser_UserId' was not loaded because the type 'MyEntities.AspNetUser' is not available.
The following information may be useful in resolving the previous error:
The required property 'AspNetUserClaims' does not exist on the type 'SampleApp.Core.AspNetUser'.
以下是包含新的 ASP.NET 身份表的数据库图表:
谁能帮我解决这个问题?非常感谢任何帮助。
最佳答案
您可以在此处查看 IdentityUser 的属性:https://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.entityframework.identityuser_properties(v=vs.108).aspx
如您所见,声明、登录、角色等属性已经存在。默认情况下,asp.net 身份使用 DbContext,它继承自 IdentityDbContext https://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.entityframework.identitydbcontext%28v=vs.108%29.aspx
这个类配置了很多东西,比如表映射等。我们可以看到你的 DbContext 吗?
因此,首先,尝试从构造函数中删除添加的 ICollections 及其初始值设定项。
关于c# - 类型 'Claims' 上的属性 'AspNetUser' 不是导航属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29915487/
应用程序应该有客户和卖家以及另一个商品/项目表,第一种情况是扩展 AspNetUsers 并使其对客户和卖家都可用,并通过添加到 AspNetUsers 的一个字段来区分它们(例如可以将其命名为“Pr
我们正在尝试通过扩展AspNetUsers将Identity 3添加到我们现有的“客户”应用中 public class ApplicationUser : IdentityUser {
我使用身份模型创建了 Asp.Net Core 3.0 web Api 项目 (Identity.EntityFrameworkCore Version=3.1.3.0),现在我可以使用 api Co
我试图与 ASPNETUsers 表和我的自定义表建立关系。 ASPNetUsers 将包含注册的用户,然后管理员可以从用户列表中选择一个用户,然后该用户将成为员工。我还没有实现任何逻辑,因为我不知道
我开始学习 ASP.NET 并且我关注了 this教程。所以,我得到了一个简单的应用程序,它使用 ASP.NET Identity 成员资格系统,并有一个包含产品和购物车项目的附加数据库。 有没有办法
我需要向 dbo.AspNetUsers 添加几列。这是使用“个人帐户”选项创建的。我尝试了我在 Internet 上搜索到的内容,但无法正常工作。 在生成的 ApplicationDbContext
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 3 年前。 Improve t
是否可以显示驻留在 AspNetUser 表中的散列密码?因为我有显示事件管理员的网格,当我单击一行时,我希望填充字段以进行编辑,其中一个字段用于密码。是否可以“取消散列”使用 PasswordHas
我非常想在 Identity 2.0 的 AspNetUsers 表和一个名为 Map 的自定义表之间创建一对多关系(一个用户可以有很多 map ,但一个 map 只能有一个用户)我已经尝试了大部分本
我想从身份表中检索数据 dbo.AspNetUsers , 但我还没有想出如何查询它。 这是我的数据库上下文: public class ProjectsDbContext : IdentityDbC
我有2个项目。其中一个使用 ASP.Net 身份验证,另一个使用 Windows 身份验证,这是管理端。我希望 Admin 项目能够管理另一个的用户。我可以修改除密码之外的所有内容。 如果我使用 Us
工作站设置: Windows 8.1 专业版 Visual Studio Pro 2013 v 12.0.40629.00 更新 5 .Net v 4.6.01055 背景: 我使用个人帐户身份验证创
我正在尝试使用存储过程填充 AspNetUsers 表,但出现以下错误: Msg 515, Level 16, State 2, Procedure Insert_Users, Line 36 Can
有几次,我需要获取 AplicationUsers (aspnetusers) 中的用户名。就像在 Chamado 模型(表)中一样,我有一列 Id_Agente(用户)。通过一个简单的列表,我会得到
我正在使用 asp.net MVC 和 mysql 数据库。我安装了 MySql.Data v8.0.16.0 和 MySql.Data.EntityFramework v8.0.16.0。 在 we
我上下查看,尝试了所有能够将 AspNetUser 表的外键存储在单独的 Customer 表中的各种不同方法。我在 ASP.NET 和 Entity Framework 方面还是个新手,但我已经阅读
我正在使用 Identity 3,我想在 AspNetUser 表中添加一些列。 我尝试先使用 EF Core Code 来完成它,它运行良好,但我需要先使用 DB。 我想知道,如果我在数据库中手动创
我正在使用 ASP.NET Core 创建的默认身份验证系统,我想知道? 如何更改名称ASPNETUsers表到User ? 如何将以下属性添加到表中:public string DisplayNam
我正在尝试重命名由 ASP.net Identity 2.0 生成的默认表名。我阅读了所有关于 stackoverflow 的文章、问题和答案,但我仍然遇到同样的错误。 我将这些表重命名为 Roles
使用 CodeFirst 迁移,我在 VS 2013 中的 asp mvc 模板中的标准数据库中的表 aspnetusers 中添加了自定义字段“姓氏”(对不起“in”)。如果我已登录,如何获取“姓氏
我是一名优秀的程序员,十分优秀!