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;
}
}
DIEA
浏览 364回答 6
6回答

函数式编程

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

繁花不似锦

纯直觉: a.Account.Equals(uid)  可能引发空引用异常。 是字符串比较对吧? 换string.Equals静态方法试试。

拉风的咖菲猫

我前面有控制空值的.

凤凰求蛊

觉得有点道理 明天试试

德玛西亚99

还是不对 我勒个去的
打开App,查看更多内容
随时随地看视频慕课网APP