C# 将自定义唯一属性添加到我的IdentityUser
我正在使用ASP.NET核心标识管理我的应用程序用户。为了存储一些附加属性,我创建了类“ApplicationUser”,如下所示:C# 将自定义唯一属性添加到我的IdentityUser,c#,asp.net-core,asp.net-identity,identityserver4,C#,Asp.net Core,Asp.net Identity,Identityserver4,我正在使用ASP.NET核心标识管理我的应用程序用户。为了存储一些附加属性,我创建了类“ApplicationUser”,如下所示: public class ApplicationUser : IdentityUser { public Guid CustomProperty { get; set; } } 我现在想要的是UserManager。但对于这样一个简单的需求,似乎需要做大量的工作。是否有某种属性,我可以装饰财产,以实现这一点?此外,提到的答案几乎是3岁。因此,我甚至不确定
public class ApplicationUser : IdentityUser
{
public Guid CustomProperty { get; set; }
}
我现在想要的是
UserManager。但对于这样一个简单的需求,似乎需要做大量的工作。是否有某种属性,我可以装饰财产,以实现这一点?此外,提到的答案几乎是3岁。因此,我甚至不确定它在ASP.NET Core 2.2中是否有效,我猜您希望CustomProperty
具有某种独特性。您可以使用DatabaseGenerated
属性来实现这一点
如下图所示装饰您的物业:
public class ApplicationUser : IdentityUser
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid CustomProperty { get; set; }
}
您可以阅读更多内容我猜您希望CustomProperty
具有某种独特性。您可以使用DatabaseGenerated
属性来实现这一点
如下图所示装饰您的物业:
public class ApplicationUser : IdentityUser
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid CustomProperty { get; set; }
}
您可以在EF core中阅读更多内容,您可以指定索引应该是唯一的,这意味着对于给定的属性,没有两个实体可以具有相同的值
在dbContextOnModelCreating
中添加以下代码,并添加迁移
modelBuilder.Entity<ApplicationUser>()
.HasIndex(b => b.CustomProperty)
.IsUnique();
modelBuilder.Entity在EF core中,您可以指定索引应该是唯一的,这意味着对于给定属性,任何两个实体都不能具有相同的值
在dbContextOnModelCreating
中添加以下代码,并添加迁移
modelBuilder.Entity<ApplicationUser>()
.HasIndex(b => b.CustomProperty)
.IsUnique();
modelBuilder.Entity你是说CustomProperty
在数据库中必须是唯一的吗?你是说CustomProperty
在数据库中必须是唯一的吗?真的那么简单吗…?:)我尝试了这个方法,但仍然可以插入两个具有相同值CustomProperty
的条目。所以我现在使用Xing-Zous解决方案。@timnot90好的。我一定是误解了你的问题。我想CustomProperty
是自动生成的。我也会建议邢的解决方案。真的那么简单吗…?:)我尝试了这个方法,但仍然可以插入两个具有相同值CustomProperty
的条目。所以我现在使用Xing-Zous解决方案。@timnot90好的。我一定是误解了你的问题。我想CustomProperty
是自动生成的。我也会建议邢的解决方案。