在LINQ查询中检查用户名和密码

时间:2010-05-22 14:55:07

标签: c# linq linq-to-sql where-clause

这个linq查询

var users = from u in context.Users
            where u.UserEMailAdresses.Any(e1 => e1.EMailAddress == userEMail) && u.UserPasswords.Any(e2 => e2.PasswordSaltedHash == passwordSaltedHash)
            select u;
return users.Count();

返回:1即使密码表中没有任何内容。

怎么回事?

我要做的是从通过外键链接到第三个表(UserEMailAddresses)的两个单独的表(UserPasswordsUsers)中获取email和passwordHash的值。

应该很简单 - 检查电子邮件和密码是否从表单到数据库。但它不适合我。

即使UserPasswords表中没有条目,我也会获得1(计数)。

上面的linq查询完全错误,或者......?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用.Contains代替.Any

答案 1 :(得分:0)

实际上查询的一切都很完美。

问题是我在尝试之前没有构建解决方案。

让我感到困惑的是,似乎背后的代码我需要构建,但对于html / css,我没有。

抱歉