自动填充列,代码优先,没有POCO属性

时间:2016-05-03 18:33:33

标签: c# asp.net asp.net-identity

我正在为我的项目使用ASP.NET Identity。

我直接在名为AspNetUsers的{​​{1}}数据库中创建了一个新列,并定义其默认值为当前日期,并按预期存储。

问题是,如果我再次生成数据库,我将需要再次创建此列。我的意思是,在生产中或在新环境中。

我想知道是否可以使用 fluent API CreationDate中的OnModelCreating(默认值)来定义它。

该类位于ASP.NET创建的模板(ApplicationDbContextApplicationUser等)中的Identity类中,我想通过直接使用 fluent API来了解这是否可行(而不是继承或creating all the classes)。

1 个答案:

答案 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;
    }
}