2016-02-18 56 views
1

我已经VS2015,实体框架6.我有一个数据库,一个表(登录)ASP.net实体框架检查是否存在于数据库

FirstName, lastName, Birthdate, email, password 

我也有一个文本框(或多个),按钮

tbEmail tbpass and btnLogin 

如何检查文本框中的用户电子邮件是否与数据库中的电子邮件匹配?

到目前为止,我有:

protected void btnLogin_Click(object sender, EventArgs e) 
    { 
      Logins Log = new Logins(); 

    using (LoginDataEntities lg = new LoginDataEntities()) 
    { 
     string @email = tbUsernameL.Text; 
     string @password = tbPassL.Text; 

     var logged = from L in lg.Logins 
        where L.Username == @email 
        && L.Pass == @password 
        select L.Username; 



     if (logged != null) 
     { 
      lblSuccess.Visible = true; 
     } 
     else 
     { 
      lblFail.Visible = true; 
     } 


    } 
} 

但是,它不工作,总是能够成功的标签。我该如何解决?

回答

1

与下面的代码段试一次:

using (LoginDataEntities lg = new LoginDataEntities()) 
     { 
      string @email = tbUsernameL.Text; 
      string @password = tbPassL.Text; 

      var logged = lg.Logins 
.SingleOrDefault(l=> l.Username == @email && l.Pass == @password); 

      if (logged != null) // update 
      { 
       lblSuccess.Visible = true; 
      } 
      else 
      { 
       lblFail.Visible = true; 
      } 
     } 

另外,可你也看看下面的例子再次:

http://www.c-sharpcorner.com/uploadfile/b19d5a/custom-user-login-and-registration-page-in-Asp-Net-mvc3-with-razor-and-entity-framework/

或者你refactorisiers与单个用户帐户的VS模板

enter image description here

+0

我收到SingleorDefault错误 - “错误CS1061 \t LoginDataEntities'没有包含'SingleOrDefault'的定义,也没有找到接受'LoginDataEntities'类型的第一个参数的扩展方法'SingleOrDefault'” – wiredlime2015

+0

Ops sry,lg .Logins.SingleOrDefault(l => l.Username == @email && l.Pass == @password); 我错了你的实体,我会纠正我的片段.. –

+0

这工作,谢谢你! – wiredlime2015

相关问题