我正尝试在asp.net标识中自定义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上的其他类中有布尔字段,它们都被创建为非空(因为它们应该)。
我都试过,但没有任何改变。再次说明:在同一DbContext上的其他实体中,不可为空的类型(包括bool)的所有属性在数据库中产生不可为空的字段。问题只在于这一个。 – aleyush
你有可能使用TPH吗?如果是这样,那么你可能不能使该特定字段非空。 –
你说得对,在我的情况下是TPH的情况。 – aleyush