2023-02-17 353
我正在通过编码示例应用来学习ASP.NET MVC3 EF4.我正在使用标准的会员提供商.我在会员提供商中有ReaseUniqueEmail =”True”,所以每占位提供者不超过1封电子邮件.
我想通过他们的电子邮件地址找到特定的用户.有一个功能有助于:
MembershipUserCollection users = Membership.FindUsersByEmail(model.Email);
因为我有唯一的电子邮件,我如何从empersimusercollection获取empersialuser?我知道我可以做一个foreach循环:
foreach (MembershipUser user in users)
{
username = user.UserName;
}
但是有没有更快的方式访问第一行?
这不起作用:empersehuser用户=用户[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)
中传递的电子邮件地址的所有属性
编辑基于问题的更新
我认为加载一个只有单个记录的集合无关紧要,与字符串用户名(在我的示例中使用)相比,内存消耗将更多地,并且您在查找单个记录时存在问题(您在哪里使用循环,不必要的延迟获取细节).另外还减少了代码行(编译代码变得更加简单,更快.)
尝试使用First() linq扩展方法,如下所示:
using System.Linq;
...
var user = Membership.FindUsersByEmail(model.Email).Cast<MembershipUser>.First();
(如果您碰巧使用一个),也可能投入到您的自定义MembershipUser子类).
以上所述是小编给大家介绍的从MembershipUserCollection中获取单个MembershipUser,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/34108.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态