使用实体框架asp.net mvc登录进程

Mir*_*war 6 c# asp.net-mvc entity-framework

我想在我的项目中登录密码验证.当用户点击登录按钮时,编译器转到此方法

public ActionResult VerifyPassword(User user)
{
    var givenPassword =user.Password;
    var givenUserName=user.UserName;
//now i need compare password 
    var myUser=db.User.Find(somevalue)//find user from database,
    But how can i do this????Because somevalue needs to be a Primary Key

}
Run Code Online (Sandbox Code Playgroud)

如果我做错了什么.请指出我正确的方向我在网上搜索了很多.但没有找到使用实体框架完成此任务的教程.

Keh*_*mme 10

实际上,您不需要主键来匹配数据库中的用户.

您可以使用其用户名(应该是唯一的)在数据库中查找其记录.

尝试这样的事情:

public ActionResult VerifyPassword(User user)
{
    //The ".FirstOrDefault()" method will return either the first matched
    //result or null
    var myUser = db.Users
        .FirstOrDefault(u => u.Username == user.Username 
                     && u.Password == user.Password);

    if(myUser != null)    //User was found
    {
        //Proceed with your login process...
    }
    else    //User was not found
    {
        //Do something to let them know that their credentials were not valid
    }
}
Run Code Online (Sandbox Code Playgroud)

还要考虑对模型验证进行一些研究,调查ModelState.IsValid是一个很好的开始.