2014-05-09 28 views
-2

如何做到這一點:如何使用在數據庫中查找用戶名等於ID的句子?

var tmpUser = System.Web.HttpContext.Current.User.Identity; 

這將返回我什麼用戶登錄,例如它在我登錄時返回用戶名的名稱,因此Identity是例如丹尼爾(用戶名)

現在,在一些其他形式,我想返回該用戶名的ID,所以我有這樣開始:現在

var connectedUser = from user in db.UserTable 
        select user 

我在這裏:

var db = new userDbEntities(); // this is my connection to Database 

然後需要WHERE句子,我可以檢查USERNAME是否等於tmpUser,然後在UserTable中返回此用戶的ID。

感謝您的任何想法...

回答

1

假設用戶名用戶表列名這種方式將工作:

string tmpUser = System.Web.HttpContext.Current.User.Identity.Name; 

using(var db = new userDbEntities()) 
{ 

    var connectedUser = (from user in db.UserTable 
         where user.UserName == tmpUser 
         select user).FirstOrDefault(); 
} 

,或者你可以根本就利用SingleOrDefault

string tmpUser = System.Web.HttpContext.Current.User.Identity.Name; 

using(var db = new userDbEntities()) 
{ 
    var connectedUser = db.UserTable.SingleOrDefault(x=>x.UserName == tmpUser); 
} 
+0

我必須主持兩個字符串,它顯示錯誤不能將運算符'=='應用於操作數'string'和'System.Security.Principal.IIdentity',候選人是:bool ==(字符串,字符串) –

+0

將其轉換爲字符串看更新 –

+0

如何轉換爲strint? –

相關問題