为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

DIEA 2018-12-06 18:20:19
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; } }
查看完整描述

6 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

可以先写一个判断用户名是否存在的方法                 

  int userFlag = context.Admin.Where(a => a.AdminId== userId).ToList().Count;

if(userFlag>0)

//在匹配密码字段。  方法同上

查看完整回答
反对 回复 2019-01-21
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

纯直觉:

a.Account.Equals(uid)

 

可能引发空引用异常。

是字符串比较对吧?

换string.Equals静态方法试试。

查看完整回答
反对 回复 2019-01-21
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我前面有控制空值的.
查看完整回答
反对 回复 2019-01-21
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

觉得有点道理 明天试试
查看完整回答
反对 回复 2019-01-21
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

还是不对 我勒个去的
查看完整回答
反对 回复 2019-01-21
  • 6 回答
  • 0 关注
  • 363 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信