DotNet核心身份 - 关系用户表到自定义表

时间:2018-03-02 23:01:54

标签: asp.net-core identity

我在dotnet core web api中有后端应用程序。我想在用户表(AspNetUsers)和自定义表事务之间创建关系(一对多)。

我使用CodeFirst方法,我的db上下文就是这样:

public class PaszoDbContext : IdentityDbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=PaszoDataBase.db"); 
    }

    public DbSet<Transaction> Transactions { get; set; }
}

我在哪里可以将属性添加到绑定用户到交易:

public virtual ICollection<Transaction> Transactions { get; set; }

1 个答案:

答案 0 :(得分:3)

您必须创建User课程并在IdentityDbContext中使用它。 默认情况下,Identity将为用户使用IdentityUser<string>模型。

如果要更改Id类型或添加其他属性和关系,可以执行以下操作:

public class User : IdentityUser<Guid> //specify your database primary key type. in this case GUID or uniqueidentifier
{
    //add your properties like Birthday, RegisterDate, etc.

    //add your relationships
    public virtual ICollection<Transaction> Transactions { get; set; }
}

并在您的DbContext中:

public class PaszoDbContext : IdentityDbContext<User> //specify your custom class
{
    public ApplicationDbContext(DbContextOptions<PaszoDbContext> options)
        : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        //Your customiziations
    }

    public DbSet<Transaction> Transactions { get; set; }
}