繁体   English   中英

表列使枚举和返回值作为字符串

[英]Table column make enum and return values as strings

我有一个带有(EF)数据库的ASP.NET WebForms应用程序。

基本上,我关注的两个表是“用户”和“角色”。 在角色中,有:ID(pk),用户ID(fk),类型:字符串-包含管理员,用户,主持人,发布者等。在用户中,有:ID(pk),电子邮件,NameFirst,NameLast,密码,用户名。

在设计器中,我将用户与角色连接在一起,以便在角色-> UserId ==用户ID中使用。

现在,在创建一个从RoleProvider继承的类之后,在函数GetRolesForUser(string username)中,我想获取ID为用户名的用户的所有角色的枚举。

因此,例如,如果我有一个用户Agon,我希望能够获取他所有角色的枚举供以后使用,并在上述方法中将它们作为string []返回。

因此,在经过数小时的麻痹尝试之后,我一直遇到一致的错误。 不知道从这里去哪里:

    public override string[] GetRolesForUser(string username)
    {
        using (SMEntities db = new SMEntities())
        {
            User user = db.Users.First(x => x.Username == username);
        }

        //throw new NotImplementedException();
    }

我不确定枚举实际上在哪方面起作用,但是以下内容如何:

    using (SMEntities db = new SMEntities())
    {
        User user = db.Users.First(x => x.Username == username);
        return user.Roles.Select(r => r.Type).ToArray();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM