c# - 使用 Entity Framework 的 ASP.NET MVC Core 项目中的种子角色

标签 c# asp.net-core-mvc entity-framework-core

当我最初创建数据库时,我试图将一些角色植入到我的身份数据库上下文中。

为此,我尝试实现代码,如下所示: https://stackoverflow.com/a/29547994/985798

我在我的启动类中的ConfigureServices方法中尝试了这个: 公共(public)无效ConfigureServices(IServiceCollection服务)

使用此代码片段:

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 There is no argument given that corresponds to the required formal parameter 'roleValidators' of 'RoleManager.RoleManager(IRoleStore, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, ILogger>, IHttpContextAccessor)'

即使我使用其他重载(其他参数为空值),RoleManager 似乎也不再有“Create”方法。

所以,我现在陷入了困境。我需要做什么?角色管理器的 ASP.NET MVC Core 实现是否发生了变化?难道是我用错了什么?

最佳答案

using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;

public static class Seed
{
    public static void Initialize(IServiceProvider provider)
    {
        var _context = provider.GetRequiredService<ApplicationDbContext>();
        var userManager = provider.GetRequiredService<UserManager<ApplicationUser>>();
        var roleManager = provider.GetRequiredService<RoleManager<IdentityRole>>();


    }
}

然后下面是startup.csConfigure()中的大部分代码

Seed.Initialize(app.ApplicationServices);

HTH(希望有帮助)。

关于c# - 使用 Entity Framework 的 ASP.NET MVC Core 项目中的种子角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43572257/

相关文章:

c# - 在没有任何第三方/库的情况下,是否有任何替代方法可以在 C# 中使用 WPF 处理 DICOM 图像?

c# - 除了 LINQ,有人发现 "var"的用途吗?

c# - 增加 version.props 中的数字

c# - 在查询开始和结束时调用 'where' 函数在性能上有区别吗?

c# - 出现上下文菜单时如何获取鼠标位置?

c# - 在txt文件中添加一行

typescript - .NET Core 和 Angular 2 工作流程

c# - 复选框不适用于 bool View 模型属性

c# - 添加架构 EF Core 表属性

c# - ASP.NET Core 2 +获取数据库上下文实例