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