我是asp.net memebership的新手。我正面临一个问题。 db命名配置文件中有一个表,其中名为PropertyValueStrings的列具有值。我想通过使用PropertyValueStrings从Memberships表中获取用户。像
select * from Memberships where UserId = (select UserId from Profiles where PropertyValueStrings=12 )
是否可以在c#中使用?
答案 0 :(得分:1)
当然有可能。但是,不建议这样做。成员资格类提供了一个很好的界面来列出所有用户,您也可以使用成员资格API获取每个角色的角色和成员资格。
microsoft提供此功能的原因是,您不必编写sql并处理表。
角色基础安全性和配置文件服务广泛使用SQL,它们是普通表。您可以使用与在其他表上相同的方式完全查询它们。
答案 1 :(得分:0)
感谢所有我有解决方案
var AllUsers = Membership.GetAllUsers().Cast<MembershipUser>();
var obj = AllUsers.Select(user => ProfileBase.Create(user.UserName, true)).Where(profile => profile.GetPropertyValue("PropertName").ToString() == "Value").SingleOrDefault();
将结果返回为
从UserId =的成员资格中选择*(从Profiles中选择UserId,其中PropertyValueStrings = 12)