我正在为我的项目使用ASP.NET Identity。
我直接在名为AspNetUsers
的{{1}}数据库中创建了一个新列,并定义其默认值为当前日期,并按预期存储。
问题是,如果我再次生成数据库,我将需要再次创建此列。我的意思是,在生产中或在新环境中。
我想知道是否可以使用 fluent API 以CreationDate
中的OnModelCreating
(默认值)来定义它。
该类位于ASP.NET创建的模板(ApplicationDbContext
,ApplicationUser
等)中的Identity类中,我想通过直接使用 fluent API来了解这是否可行(而不是继承或creating all the classes)。
答案 0 :(得分:1)
如果要使用Fluent API对其进行操作,则需要将属性添加到 ApplicationUser 类。我不明白为什么你不想扩展 ApplicationUser 中的默认属性。添加 CreationDate 作为属性将创建一个列:
public class ApplicationUser : IdentityUser
{
//This is the property that will match your column
public DateTime CreationDate { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager, string authenticationType)
{
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
return userIdentity;
}
}