表列将枚举和返回值作为字符串
本文关键字:字符串 返回值 枚举 | 更新日期: 2023-09-27 17:58:40
我有一个带有(EF)数据库的ASP.NET WebForms应用程序。
基本上,我关心的两个表是用户和角色。在Roles中有:Id(pk)、UserId(fk)、Type:String,其中包含Admin、User、Moderator、Publisher等。在用户中有:Id(pk),Email,NameFirst,NameLast,Password,Username。
在设计器中,我将"用户"与"角色"连接起来,以便在"角色"->"用户Id"="用户的Id"中。
现在,在创建了一个从RoleProvider继承的类之后,在函数GetRolesForUser(字符串用户名)中,我想获得id为用户名的用户的所有角色的枚举。
因此,例如,如果我得到一个用户Agon,我希望能够获得他所有角色的枚举供以后使用,并在所述方法中以字符串[]的形式返回它们。
因此,经过数小时令人麻木的尝试,我一直在犯错误。不确定从这里去哪里:
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();
}