【发布时间】:2017-09-20 04:48:39
【问题描述】:
当我最初创建数据库时,我正在尝试将一些角色植入我的身份数据库上下文。
为此,我尝试实现此处所述的代码: https://stackoverflow.com/a/29547994/985798
我在我的 Startup 类中的 ConfigureServices 方法中尝试了这个: public void ConfigureServices(IServiceCollection 服务)
使用这个 sn-p:
var rolestore =
new Microsoft.AspNetCore.Identity.EntityFrameworkCore.
RoleStore<Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole>(identityContext);
var roleManager = new Microsoft.AspNetCore.Identity.RoleManager
<Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole>(rolestore);
//use rolemanager to insert roles etc.
问题是,它似乎不适用于使用 Visual Studio 2017 创建的新核心项目。
它给了我以下构建错误:
CS7036 没有给出与所需参数对应的参数 形参 'roleValidators' 的 'RoleManager.RoleManager(IRoleStore, IEnumerable>,ILookupNormalizer, IdentityErrorDescriber, ILogger>, IHttpContextAccessor)'
即使我使用其他重载(其他参数为空值),RoleManager 似乎也没有“创建”方法了。
所以,我被困在这一点上。我需要做什么?角色管理器的 ASP.NET MVC Core 实现有什么变化吗?我用错了吗?
【问题讨论】:
-
编译后,执行 Seed() 可能会出现问题。计划用于 EfCore 2.0 的 Afaik。
-
你到底是什么意思?在启动内部运行它应该可以正常工作,不是吗?我知道,这可能不是最好的地方,但我认为它应该可以工作。
-
代替“newing” RoleManager 尝试在
Configure方法中解决它。 Similar post 和 MusicStore -
为我工作。就像你说的,你可以使用 IServiceCollection 来检索你的 UserManager 和 RoleManager。
标签: c# asp.net-core-mvc entity-framework-core