首先根据登录用户获取角色名称。之后根据角色从db获取功能代码。我需要将sql
结果分配到Array
,但它会显示错误can't convert from string to string[]
public override string[] GetRolesForUser(string username)
{
DEV_Context OE = new DEV_Context();
string role = OE.UserRefs.Where(x => x.UserName == username).FirstOrDefault().RoleName;
string[] permission = OE.RolePermissionRefs.Where(x => x.RoleName == role).FirstOrDefault().FunctionCode;
string[] result={permission};
return result;
}
答案 0 :(得分:1)
您需要字符串数组,因此请使用Select而不是ToArray方法,而不是使用FirstOrDefault。
您的方法应该是
public override string[] GetRolesForUser(string username)
{
DEV_Context OE = new DEV_Context();
string role = OE.UserRefs.Where(x => x.UserName == username).FirstOrDefault().RoleName;
string[] result= OE.RolePermissionRefs.Where(x => x.RoleName == role).Select(x=>x.FunctionCode).ToArray();
return result;
}