-1

我是 asp.net 的新成员。我面临一个问题。db 中有一个名为 profile 的表,其中名为 PropertyValueStrings 的列有一个值。我想通过使用 PropertyValueStrings 从 Memberships 表中获取用户。像

select * from Memberships where UserId = (select UserId from Profiles where PropertyValueStrings=12 )

在c#中可以吗?

4

2 回答 2

1

当然有可能。但是,不建议这样做。成员资格类提供了一个优秀的接口来列出所有用户,您也可以使用成员资格 API 获取他们的角色和每个角色的成员资格。

微软提供此功能的原因是,您不必编写 sql 和处理表。

角色库安全和配置文件服务广泛使用 SQL,它们是普通表。您可以按照与其他表完全相同的方式查询它们。

于 2012-10-04T06:17:20.960 回答
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();

它返回结果为

select * from Memberships where UserId = (select UserId from Profiles where PropertyValueStrings=12 )

于 2012-10-04T15:25:45.173 回答