gpt4 book ai didi

c# - 从 MembershipUserCollection 获取单个 MembershipUser

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:50 25 4
gpt4 key购买 nike

我正在通过编写示例应用程序来学习 ASP.Net MVC3 EF4。我使用的是标准成员(member)提供程序。我在成员(member)提供者中有 requiresUniqueEmail="true",因此每个 MembershipUser 不超过 1 封电子邮件。

我想通过电子邮件地址查找特定用户。有一个功能可以帮助:

MembershipUserCollection users = Membership.FindUsersByEmail(model.Email);

由于我有唯一的电子邮件,我如何从 MembershipUserCollection 中获取 MembershipUser?我知道我可以做一个 foreach 循环:

foreach (MembershipUser user in users)
{
username = user.UserName;
}

但是有没有更快的方法只访问第一行?

这不起作用:MembershipUser user = users[0];

但这正是我正在寻找的东西。

谢谢!!

更新:这可行,但我仍然对上述问题的答案感兴趣:

string username1 = Membership.GetUserNameByEmail(model.Email);
MembershipUser user = Membership.GetUser(username1);

最佳答案

因为每个用户都有唯一的电子邮件,为什么要使用 MembershipUserCollection

你可以直接使用

    string userName = Membership.GetUserNameByEmail(model.Email);

MembershipUser oMu = Membership.GetUser(userName);

oMu 对象将为您提供您在 GetUserNameByEmail(model.Email)

中传递的电子邮件地址的用户的所有属性

根据相关更新进行编辑

我认为加载只有单个记录的集合是无关紧要的,与字符串用户名(在我的示例中使用)相比,内存消耗会更多,而且您在查找单个记录时遇到问题(您在哪里正在使用循环,在获取详细信息时不必要的延迟)。另外代码行减少了(编译代码变得更容易和更快。)

关于c# - 从 MembershipUserCollection 获取单个 MembershipUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10662397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com