我正在尝试使用Membership.GetAllUsers()
创建数据库中所有用户的列表。但是,我有一个模型,我使用它来映射用户属性(名字,姓氏,电子邮件等)。
如何将所有用户添加到List<ManageUserViewModel>
。
我已经累了:
List<ManageUserViewModel> model = Membership.GetAllUsers();
然后
MembershipUserCollection users = Membership.GetAllUsers();
List<ManageUserViewModel> model = new List<ManageUserViewModel>();
foreach (var item in users)
{
model.Add(item);
}
答案 0 :(得分:5)
如果你在foreach循环中明确了对象类型,那么你将能够访问你正在寻找的用户对象。
例如:
var users = Membership.GetAllUsers();
var userList = new List<MembershipUser>();
foreach (MembershipUser user in users)
{
userList.Add(user);
}
答案 1 :(得分:1)
Membership.GetAllUsers()
会返回一个MembershipUserCollection
,其实际上是MembershipUser
的列表,而您需要一个ManageUserViewModel
列表,我认为该列表是您应用程序的内部类。
您可以使用LINQ:
var model = Membership.GetAllUsers()
.Select(m =>
new ManageUserViewModel {/* set properties you need here */ }
)
.ToList();
相当于:
var users = Membership.GetAllUsers();
var model = new List<ManageUserViewModel>();
foreach (var item in users)
{
model.Add(new ManageUserViewModel { /* set properties here */});
}
答案 2 :(得分:0)
我遇到了同样的挑战。我用vb而不是c#和.NEt 4.5版使用visual studio 2013。 我从微软网站here获得了所有解决方案 祝你好运