我正在尝试使工作具有登录功能,但是对于某些用户Linq
,如果他们在数据库中具有正确的值,则将某些值返回为null。对于其他用户,一切正常。
这是我的linq
public Clientes Login(string username)
{
DataClasses1DataContext db = new DataClasses1DataContext();
var query = from c in db.Clientes
where c.NroDocumento == username
select c;
return query.FirstOrDefault();
}
然后在服务层中,我有以下内容:
Clientes o = userData.Login(username);
return (o != null && password == o.Password)
? new UserEntity(o.CodCliente, o.Email, o.Empresa)
: null;
但是,当我调试时,对于某些用户,我可以看到属性o.Password
有一个值,而对于另一些用户,它显示为null
。
用户是由其他系统创建的,所以我不知道这是否会产生影响,但是当我直接在SQL Server中运行Select时,两个用户都有一个密码,因此我不知道这有什么区别使Linq返回null。
这是模型的图像(对不起,西班牙语)
答案 0 :(得分:1)
根据注释,看起来好像有重复项,但是其中一些没有密码。在某些情况下,由于您使用的是“ FirstOrDefault”,因此无需密码即可提取该密码。