gpt4 book ai didi

ASP.NET Identity 如何为自定义 ApplicationUser 添加必需的属性?

转载 作者:行者123 更新时间:2023-12-02 11:13:50 25 4
gpt4 key购买 nike

我正在尝试为 ApplicationUser 添加必需的属性(ASP.NET Identity、MVC5)

这是一个简单的例子:

public class ApplicationUser : IdentityUser
{
[Required]
public string FirstName { get; set; }
}

该字段在数据库中创建,但最终为NULLABLE
我希望该字段不为空。

enter image description here

知道如何解决这个问题吗?

最佳答案

每个层次结构表 (TPH) 映射是 Entity Framework Code First 中的默认设置。这意味着,如果共享同一表的类型层次结构中的所有类都不需要 FirstName,则该列不能为非空。

如果您希望 FirstName 列不可为空,您可以选择不同的映射策略。如果您改用“按类型表”(TPT),那么您将拥有一个用于 IdentityUser 的表(默认为 AspNetUsers),另一个表用于 ApplicationUser。由于 FirstName 现在对于 ApplicationUser 表来说是唯一的,因此它不能为空。

要使用 TPT,您可以重写 OnModelCreating 方法,如下所示:

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().ToTable("ApplicationUser");
}

关于ASP.NET Identity 如何为自定义 ApplicationUser 添加必需的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19818036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com