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