在初始迁移期间创建的同一数据库中创建一个新的 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 注入到任何您想要使用的地方。可能到服务或存储库。
我是编程新手,开始使用 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 注入到任何您想要使用的地方。可能到服务或存储库。