-1

I am new in asp.net memebership. I am facing a problem. There is a table in db named profile in which a column named PropertyValueStrings have a value. I want to get user from Memberships table by using PropertyValueStrings. Like

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

Is it possible in 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 に答える