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

问题描述 投票:1回答:1

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

我使用Code First方法和我的dbcontext工具:

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; }
asp.net-core identity
1个回答
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; }
}
© www.soinside.com 2019 - 2024. All rights reserved.