检索具有特定电子邮件地址的用户
问题描述:
我试图找到检索具有相同电子邮件地址的用户列表的最有效方法。检索具有特定电子邮件地址的用户
我的第一种方法是非常简单的:
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'的类型。
有人能帮助我最有效地检索具有匹配电子邮件地址的用户列表吗?
答
什么:
Membership.FindUsersByEmail()
如果担心性能,可以在后端执行此操作吗?或者使用ADO.NET数据对象的Filter或Select方法? '对于大型用户数据库使用GetAllUsers方法时要小心,因为ASP.NET页面中生成的MembershipUserCollection可能会降低应用程序的性能。“http://msdn.microsoft.com/zh-cn/library/dy8swhya的.aspx – Tim 2013-03-05 15:17:42