如何将中的值分配给c#中的数组

本文关键字:数组 分配 | 更新日期: 2023-09-27 18:28:19

首先根据登录用户获取角色名称。然后根据角色从数据库中获取函数代码。我需要将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;
    }

如何将中的值分配给c#中的数组

您需要字符串数组,因此不使用FirstOrDefault,而是使用Select和than ToArray方法。

你的方法应该看起来像

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;
}