Asp.net mvc 5 ASP.NET MVC 5自定义角色提供程序未返回预期值

Asp.net mvc 5 ASP.NET MVC 5自定义角色提供程序未返回预期值,asp.net-mvc-5,roleprovider,Asp.net Mvc 5,Roleprovider,我对这个自定义角色提供程序相当陌生(虽然我认为它很好),现在我试图让用户根据他们的角色查看或访问web应用程序的某些部分,这些角色在数据库中(管理员、用户和超级用户)。我有一个名为UserRoleProvider的类,下面是它似乎不起作用的部分 public override string[] GetRolesForUser(string username) { using (CADDeContext caddeContext = new CADDeContext())

我对这个自定义角色提供程序相当陌生(虽然我认为它很好),现在我试图让用户根据他们的角色查看或访问web应用程序的某些部分,这些角色在数据库中(管理员、用户和超级用户)。我有一个名为UserRoleProvider的类,下面是它似乎不起作用的部分

public override string[] GetRolesForUser(string username)
    {
        using (CADDeContext caddeContext = new CADDeContext())
        {
            int? roleId = caddeContext.SMS_Staff.First().StaffSecurity;
            string site = caddeContext.SMS_Staff.First().BranchID;

            return new string[] { roleId.ToString() };
        }
    }
此方法不返回数据库中的任何值,返回的值与数据库中的值完全不同,它从何处获取所有这些值,我100%在web配置中有正确的连接字符串,我还使用quickwatch仔细检查了此连接。下面是我希望从上下文中获得的所有字段的屏幕截图(没有值)


哦,不,我真不敢相信我刚才犯了多么大、多么愚蠢的错误,我的查询中没有where子句,而且在查询中加入了“first”,把一切都抛在脑后,我觉得自己太愚蠢了:(