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;
}
}
我使用一个不存在的账户调用登录方法,在查询数据库的时候就报异常 提示 '序列不包含任何元素' 怎么控制啊
可以先写一个判断用户名是否存在的方法
int userFlag = context.Admin.Where(a => a.AdminId== userId).ToList().Count;
if(userFlag>0)
//在匹配密码字段。 方法同上
纯直觉:
a.Account.Equals(uid)
可能引发空引用异常。
是字符串比较对吧?
换string.Equals静态方法试试。