如何在c#中为数组赋值

时间:2014-10-30 06:28:28

标签: c# sql model-view-controller

首先根据登录用户获取角色名称。之后根据角色从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;
    }

1 个答案:

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