2014-10-30 48 views
0

首先根據登錄用戶獲取角色名稱。之後,根據角色從數據庫中獲取功能代碼。我需要將sql結果分配到Array,但保持顯示錯誤can't convert from string to string[]如何分配值到C#中的數組#

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

你爲什麼不只是返回許可; ?此外,我建議你使用Collection-Types而不是數組。所以例如列表 Jannik 2014-10-30 06:30:24

回答

1

您需要的字符串數組,所以不是使用FirstOrDefault,使用SelectToArray方法。

你的方法應該看起來像

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

感謝您的解釋,它的工作原理 – WengKit 2014-10-30 06:46:24