在初始迁移期间创建的同一数据库中创建一个新的 sqlite table

create a new sqlite table within the same database that was created during initialmigration

我是编程新手,开始使用 asp.net 核心和 MVC 的新项目。 因为我想看看幕后发生了什么,所以我使用 IdentityUser 和 IdentityDbContxt 手动实现了身份验证和授权。 在初始迁移期间,创建了一堆 table 允许用户注册然后登录。我已经实现了所有这些。 现在我想在同一个数据库中创建一个新的 table,让用户提交他们的姓名和地址。我相信我可以使用 sqlite GUI 创建一个新的 table 并使用它,但是我如何创建一个 UserProfileModel.cs 文件并让该模式显示在数据库中? 如果我的问题不是很清楚,我深表歉意。另外,我正在 mac 上使用 Microsoft Stack :)。 谢谢

首先,您始终可以扩展 IdientityUser、添加迁移、更新数据库,并将姓名和地址添加到 table。

public class UserProfileModel:IdentityUser

如果你想拥有更多带有 tables 的模型,你必须制作一个 class 来扩展 IdentityDbContext,将 db 选项传递给构造函数并添加你的 DbDets,这将是用于创建 tables.

 public class AppDbContext : IdentityDbContext<User>
{
    public DbSet<UserProfileModel> Residences { get; set; }

    public AppDbContext (DbContextOptions<AppDbContext> options) : base(options)
    {

    }

然后,在配置服务的地方必须添加数据库,

services.AddDbContext<AppDbContext>(options => options.UseSqlite(configuration.GetConnectionString("Your Connection String")));

我假设您已经做到了,也许使用 IdentityDbContext,但您可以添加自定义 DbContext。

现在您可以将 AppDbContext 注入到任何您想要使用的地方。可能到服务或存储库。