在 1 个数据库调用中获取所有用户和配置文件字段

Get all users and profile fields in 1 database call

我们目前在我们的网站上有一个页面,可以获取我们所有的用户并列出他们。

var users = Membership.GetAllUsers();

此页面然后在视图中循环浏览每个用户时为每个用户调用配置文件。

foreach (MembershipUser user in Model)
{
    ProfileBase pb = ProfileBase.Create(user.UserName, true);
    //display fields
}

这使得页面加载非常缓慢,并且随着我们添加更多用户而变得更糟。现在超过 4000 个页面可能需要一两分钟才能加载。幸运的是它只是一个管理页面,但我仍然想让它更有效率。

有没有一种有效的方法可以在一次调用数据库中完成所有这些工作?

我最终只是重新编码了整个站点而不是使用 ProfileBase。我真的不能推荐任何人实施它。