2013-02-11 64 views
0

我有一個ASP.NET WebForms應用程序與(EF)數據庫。表列使枚舉和返回值作爲字符串

基本上我關心的兩個表是Users和Roles。 在角色有:ID(PK),用戶ID(FK),類型:String - 包含要麼管理員,用戶,版主,出版商等 的用戶有:ID(PK),電子郵件,NameFirst,NameLast,密碼,用戶名。

在設計器中,我將用戶與角色連接起來,以便在用戶的角色 - >用戶標識==標識中。

現在,在創建一個從RoleProvider繼承的類之後,在函數GetRolesForUser(字符串用戶名)中,我希望獲得其用戶名的用戶名的所有角色的枚舉。

因此,舉例來說,如果我得到一個用戶阿貢,我希望能夠得到他的供以後使用的所有角色的枚舉,也回報他們以字符串[]中所述方法。

因此對於經過數小時的頭部麻木嘗試,我一直得到一致的錯誤。不知道在哪裏何去何從:

public override string[] GetRolesForUser(string username) 
    { 
     using (SMEntities db = new SMEntities()) 
     { 
      User user = db.Users.First(x => x.Username == username); 
     } 

     //throw new NotImplementedException(); 
    } 
+0

不同於論壇的網站,我們不使用「謝謝」或「任何幫助表示讚賞」,或在[so]上簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be 。-removed - 從 - 個) – 2013-02-11 22:19:34

+0

我道歉,我已經缺席了很長一段時間沒有 – 2013-02-11 22:31:59

+1

必要道歉 - !現在你知道 – 2013-02-11 22:33:31

回答

1

我不知道在哪裏枚舉開始發揮作用,真的就這一個,但如何執行以下操作:

using (SMEntities db = new SMEntities()) 
    { 
     User user = db.Users.First(x => x.Username == username); 
     return user.Roles.Select(r => r.Type).ToArray(); 
    } 
+0

首先,感謝您輸入的I試過各種在哪裏,以和選擇但沒有結束不會產生錯誤,這是! 至於枚舉,我想稍後用它來實際決定每個角色的權限和用途以及whatnot。 這使我想到了點我想避免裝箱和取消裝箱,只是堅持一個可以由Roles類使用的枚舉。 – 2013-02-11 22:10:53

+0

那麼這給你什麼錯誤? – IronMan84 2013-02-11 22:14:21

+0

它不是。爲我推出了作品。可能有錯誤的措辭。我的錯。 – 2013-02-11 22:20:09

相關問題