sql-server - 无法将 'System.Web.Security.SqlRoleProvider' 类型的对象转换为 'WebMatrix.WebData.SimpleRoleProvider' 类型

标签 sql-server asp.net-mvc entity-framework

我正在使用 Entity Framework 开发一个 mvc Web 应用程序] 工作。我已经启用了数据库迁移,这样我就可以在每次更新时添加一些种子数据。 更具体地说,我想添加两个用户和两个角色;所以配置文件是这样的:

        var roles = (SimpleRoleProvider)Roles.Provider;
        var membership = (SimpleMembershipProvider)Membership.Provider;

        //// create two roles 
        if (!roles.RoleExists("Admin"))
        {
            roles.CreateRole("Admin");
        }
        if (!roles.RoleExists("User"))
        {
            roles.CreateRole("User");
        }

但是在选角过程中似乎出现了问题;它抛出一个异常

 Unable to cast object of type 'System.Web.Security.SqlRoleProvider' to type 'WebMatrix.WebData.SimpleRoleProvider'.

我怀疑这可能是配置问题,但我不太确定。有没有人偶然发现同样的问题?

最佳答案

那是因为 SqlRoleProvider 没有继承 SimpleRoleProvider。但是,您可以尝试使用 SimpleRoleProvider Constructor (RoleProvider) :

var roles = new SimpleRoleProvider(Roles.Provider);

关于sql-server - 无法将 'System.Web.Security.SqlRoleProvider' 类型的对象转换为 'WebMatrix.WebData.SimpleRoleProvider' 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18143329/

相关文章:

mysql - 按 t1.date 连接不相关的表(t2.startdate 和 t2.enddate 之间)

c# - 为一张表中的嵌套数据创建简化查询 (.NET Core)

c# - 如何解析查询字符串 MVC3

c# - 具体的服务应该依赖于具体的存储库或接口(interface)吗?

mysql - 子查询为 2 个几乎相同的查询返回不同的值

sql-server - 在 SQL SERVER 2008 的检查约束中创建自定义错误消息

c# - 如何在 Azure 移动应用服务中获取 Cosmos Db 数据

c# - 使用 tempdata 验证方法条目并通过 Controller 中的多个 POST 传递信息是否是一种不好的做法?备择方案?

entity-framework - Entity Framework 中的 SQL Server 向后兼容性?

c# - 有关如何教程(WPF/Entity Framework/ObservableCollections)的问题