我见过使用没有标识表的现有ASP.NET数据库实现implementing的示例。但我的问题是,如何在Blazor应用程序中使用已经实现了标识表的现有ASP.NET数据库实现implemented。
是否像修改ApplicationUser模型以满足AspNetUsers表方案一样简单?或者,这种实现方式还有更多内容?
Blazor应用程序是从头开始的,wasm和ASP.NET核心托管。
发布于 2021-03-04 18:50:56
在首次运行具有身份(具有单个用户帐户)的新Blazor应用程序之前,必须创建初始数据库迁移,并在目标数据库上运行该迁移。
如果您查看迁移代码,就会发现有一个Up和一个Down方法,它们创建(Up方法)和删除(Down方法)数据库中的标识表。
在添加迁移之后,但在将其应用于目标数据库之前,您可以编辑.cs迁移文件、删除或注释代码,因此迁移不会创建表,而是使用已创建的表。在文件中保留"insert into __migrations“这句话,因为这个插入的行是EF Core用来测试应用程序当前迁移是否与应用于数据库的上一次迁移对齐的。
当然,您的模型和现有的数据库表必须兼容。如果您对用户模型或任何其他身份方面进行了更改(例如,更改密钥类型),则此方法可能无效。在这些情况下,您可以重命名现有的表,让标准迁移创建新表,然后使用SQL脚本将用户、角色、声明和其他身份信息从旧表迁移到新表。
https://stackoverflow.com/questions/66466633
复制相似问题