如何使用Where语句在数据库中查找用户名等于ID



如何做到:

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

这返回用户登录的内容,例如,当我登录时,它返回用户名,所以Identity是daniel (username)

现在以另一种形式,我想返回这个用户名的ID,所以我从这个开始:

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

:

var connectedUser = from user in db.UserTable 
                    select user  

现在我需要WHERE语句,在这里我可以检查USERNAME是否等于tmpUser,然后在UserTable中返回这个用户的ID。

假设UserNameUserTable中的列名:

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

最新更新