2014-02-13 79 views
0

我正在使用c#和winforms 4.0创建一个使用实体框架的表格形式。问题是我的逻辑正确。我只是一个我们有点担心返回,如果它没有找到一个记录我添加一个空白的返回记录是正确的方式使用实体框架返回一个空记录,因为我想通过在登录屏幕上找到的信息到主要形式。登录函数使用实体框架c#winforms实体框架4.0

public NaviHrUsers ValidateUser(string username,string password) 
     { 

      try{ 
       NaviHrUsers currentUser = naviEntities.NaviHrUsers.FirstOrDefault(r => r.login == username); 

       if (currentUser != null) 
       { 
        return currentUser; 
       } 

       else 
       { 
        NaviHrUsers nu = new NaviHrUsers(); 
        nu.login = ""; 
        nu.password = ""; 
        nu.last_login = Convert.ToDateTime("1900/01/01"); 
        nu.last_time = ""; 
        nu.password_last_changed = Convert.ToDateTime("1900/01/01"); 
        return nu; 
       } 
      } 
      catch (Exception ex) 
      { 
       throw new EntityContextException("ValidateUser failed.", ex); 
      } 
     } 

回答

1

您可能不想返回空白记录。相反,你想要返回null。另外,如果你看看Asp.Net中的微软Forms Auth,Membership.ValidateUser()方法返回一个bool,它所做的只是验证用户,仅此而已。对于这种情况,我不会考虑返回一个空记录的一个好习惯。