在ASP.NET Identity中自定义IdentityUser类时,将创建可空字段

阿雷什

我正在尝试自定义asp.net身份中的IdentityUser类。

public class ApplicationUser : IdentityUser
{
    public ApplicationUser()
    {
        IsBlocked = false;
    }

    public bool IsBlocked { get; set; }
}

问题是:使用代码首次迁移时,附加字段被创建为可为空。如果删除数据库并重新创建,则相同。

CREATE TABLE [dbo].[AspNetUsers] (
    [Id]            NVARCHAR (128) NOT NULL,
    [UserName]      NVARCHAR (MAX) NULL,
    [PasswordHash]  NVARCHAR (MAX) NULL,
    [SecurityStamp] NVARCHAR (MAX) NULL,
    [IsConfirmed]   BIT            NOT NULL,
    [IsBlocked]     BIT            NULL,
    [Discriminator] NVARCHAR (128) NOT NULL,
    CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED ([Id] ASC)
);

我怎样才能解决这个问题?

我在同一DbContext上的其他类中有布尔字段,并且它们全都创建为非null(如应有的那样)。

安迪·布朗

下面的原始答案假设您有一个抽象基类,因此使用的是TPC,或者如果您[Table]在具体类上指定了属性而不是TPH则使用了TPT

但是,如果您使用的是非抽象基类,并且未在[Table]指定a ApplicationUser,因此未将ApplicationUserandIdentityUser映射到单个表,则您正在使用TPH方案。在这种情况下,子类中的任何字段在您的单个表中都可以为空。更改此设置的唯一方法是切换到TPC或TPT。

原始答案

[Required]属性放在您的媒体资源上:

[Required]
public bool IsBlocked { get; set; }

然后,您的迁移应使其成为一NON NULL列。

但是,如果您的表中已经有数据,这将导致问题,因为它不知道要创建哪个默认值。在这种情况下,我将迁移编辑为首先使其成为一NULL列,然后运行Sql命令以设置所需的值,然后AlterColumn使其成为一NON NULL

AddColumn("dbo.MyTable", "MyColumn", c => c.Boolean());
Sql("UPDATE MyTable SET MyColumn = 1");
AlterColumn("dbo.MyTable", "MyColumn", c => c.Boolean(nullable: false));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Asp.Net IdentityUser添加自定义列表属性

来自分类Dev

在ASP.NET MVC中返回404时创建自定义错误

来自分类Dev

自定义Asp.Net Identity 3.0

来自分类Dev

ASP .NET Identity-自定义IUserStore FindByNameAsync方法

来自分类Dev

如何在ASP.NET MVC中创建可重复使用的自定义HTML面板?

来自分类Dev

如何在ASP.NET MVC中创建可重复使用的自定义HTML面板?

来自分类Dev

当您要在Asp.net MVC中创建自定义主体时,为什么要创建自定义主体接口?

来自分类Dev

ASP.NET WebPages自定义类

来自分类Dev

是否可以将单选按钮列表作为asp.net中的参数传递给自定义类中的方法

来自分类Dev

在ASP.NET Identity中为AspNetUsers表使用自定义属性

来自分类Dev

使用自定义角色在ASP.NET Identity中初始化RoleManager

来自分类Dev

自定义MVC5 ASP.NET Identity中的cookie值

来自分类Dev

自定义MVC5 ASP.NET Identity中的cookie值

来自分类Dev

在MVC 5中的ASP.NET Identity 3上管理自定义用户属性

来自分类Dev

ASP.NET 4.5如何创建自定义登录?

来自分类Dev

Asp.net Identity 2自定义用户和自定义表名称

来自分类Dev

asp.net自定义错误

来自分类Dev

如何在asp.net core 2.1中的View中填充自定义类

来自分类Dev

Asp.net在输入字段的自定义属性中呈现控件客户端ID

来自分类Dev

如何在用户注册 asp.net 样板中添加自定义字段

来自分类Dev

Asp.net核心WebApi中的空值的自定义序列化

来自分类Dev

ASP.NET Web Api中的自定义ParameterBindingAttribute

来自分类Dev

ASP.NET Core中的自定义支架模板

来自分类Dev

ASP.NET MVC中的自定义JSON结果

来自分类Dev

在ASP.NET中自定义GridView布局

来自分类Dev

在asp.net中自定义webcalendar

来自分类Dev

Asp.Net Webforms自定义UserControl中的事件

来自分类Dev

在asp.net中自定义webcalendar

来自分类Dev

ASP.NET MVC中的自定义错误页面

Related 相关文章

  1. 1

    Asp.Net IdentityUser添加自定义列表属性

  2. 2

    在ASP.NET MVC中返回404时创建自定义错误

  3. 3

    自定义Asp.Net Identity 3.0

  4. 4

    ASP .NET Identity-自定义IUserStore FindByNameAsync方法

  5. 5

    如何在ASP.NET MVC中创建可重复使用的自定义HTML面板?

  6. 6

    如何在ASP.NET MVC中创建可重复使用的自定义HTML面板?

  7. 7

    当您要在Asp.net MVC中创建自定义主体时,为什么要创建自定义主体接口?

  8. 8

    ASP.NET WebPages自定义类

  9. 9

    是否可以将单选按钮列表作为asp.net中的参数传递给自定义类中的方法

  10. 10

    在ASP.NET Identity中为AspNetUsers表使用自定义属性

  11. 11

    使用自定义角色在ASP.NET Identity中初始化RoleManager

  12. 12

    自定义MVC5 ASP.NET Identity中的cookie值

  13. 13

    自定义MVC5 ASP.NET Identity中的cookie值

  14. 14

    在MVC 5中的ASP.NET Identity 3上管理自定义用户属性

  15. 15

    ASP.NET 4.5如何创建自定义登录?

  16. 16

    Asp.net Identity 2自定义用户和自定义表名称

  17. 17

    asp.net自定义错误

  18. 18

    如何在asp.net core 2.1中的View中填充自定义类

  19. 19

    Asp.net在输入字段的自定义属性中呈现控件客户端ID

  20. 20

    如何在用户注册 asp.net 样板中添加自定义字段

  21. 21

    Asp.net核心WebApi中的空值的自定义序列化

  22. 22

    ASP.NET Web Api中的自定义ParameterBindingAttribute

  23. 23

    ASP.NET Core中的自定义支架模板

  24. 24

    ASP.NET MVC中的自定义JSON结果

  25. 25

    在ASP.NET中自定义GridView布局

  26. 26

    在asp.net中自定义webcalendar

  27. 27

    Asp.Net Webforms自定义UserControl中的事件

  28. 28

    在asp.net中自定义webcalendar

  29. 29

    ASP.NET MVC中的自定义错误页面

热门标签

归档