我正在使用EF Core(2.0.0)创建我的第4个迁移脚本。在这里,我想向数据库添加一些角色。
问题是,我不确定如何执行此操作。目前我有这个:
protected override void Up(MigrationBuilder migrationBuilder)
{
// todo: Pass connection string somehow..?
var opt = new DbContextOptions<ApplicationContext>();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationContext(opt)));
//if (!roleManager.RoleExists("ROLE NAME"))
//{
// todo: create the role...
//}
}
但是创建RoleManager
类似这样的代码会给我以下错误:
没有给出与'RoleManager.RoleManager(IRoleStore,IEnumerable>,ILookupNormalizer,IdentityErrorDescriber,ILogger>)'的所需形式参数'roleValidators'相对应的参数
我不确定如何解决此问题。我找不到有关如何使用迁移在.NET Core中正确执行此操作的任何信息。
我在此代码中面临两个问题:
RoleManager
这样是行不通的,需要解决。我该如何解决这些问题?
该Up
方法基本上是一个指令文件,该文件告诉EF的数据库迁移器如何生成数据库升级脚本。生成脚本时执行该方法。在那里进行任何数据操作绝对是不合适的。EF内核不支持尚未播种,所以你必须添加缺少的角色,应用程序启动时,例如通过像这样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句