检索具有特定电子邮件地址的用户

时间:2013-03-05 15:15:32

标签: c# asp.net asp.net-membership

我正在尝试找到最有效的方法来检索具有相同电子邮件地址的用户列表。

我的第一种方法很简单:

MembershipUserCollection users = Membership.GetAllUsers();

我收集了users后,我可以循环浏览列表并确保电子邮件地址匹配以进一步逻辑。

我担心的是用户列表会增长到逻辑耗时太长的水平。

我的第二种方法是组合Linq来检索UserName(在这种情况下是电子邮件地址)的用户,这样我就不会遍历每个用户。

MembershipUserCollection userlist = (from user in Membership.GetAllUsers()
                                     where user.UserName == emailAddress
                                     select user).ToList();

我得到的错误是: 无法找到源类型“System.Web.Security.MembershipUserCollection”的查询模式的实现。 '哪里'找不到。考虑明确指定范围变量'user'的类型。

有人可以帮助我最有效地检索具有匹配电子邮件地址的用户列表吗?

2 个答案:

答案 0 :(得分:1)

怎么样:

Membership.FindUsersByEmail()

答案 1 :(得分:1)

使用

Membership.FindUsersByEmail("blah@yahoo.com");

您还可以将成员资格表添加到您的数据模型中,并将其作为任何其他模型进行查询。