ef读取对象是 条件不匹配为什么会异常

public Admin Login(string uid, string pwd)
       {
           try
           {
               using (dbcm = new DBContextManager())
               {
                   Admin ad = dbcm.Admins.Single(a => a.Account.Equals(uid));
                   if (ad != null && ad.Password.Equals(pwd))//非空 && 密码匹配
                       return ad;
                   else
                       return new Admin { AdminId=-1 };
               }
           }
           catch
           {
               return null;
           }
       }

长风秋雁
浏览 653回答 2
2回答

FFIVE

可以先写一个判断用户名是否存在的方法                   int userFlag = context.Admin.Where(a => a.AdminId== userId).ToList().Count;if(userFlag>0)//在匹配密码字段。  方法同上

撒科打诨

纯直觉:a.Account.Equals(uid)可能引发空引用异常。是字符串比较对吧?换string.Equals静态方法试试。
打开App,查看更多内容
随时随地看视频慕课网APP