0

同じメール アドレスを持つユーザーのリストを取得する最も効率的な方法を見つけようとしています。

私の最初のアプローチはかなり簡単です:

MembershipUserCollection users = Membership.GetAllUsers();

コレクションをusers取得したら、リストをループして、メール アドレスが一致していることを確認し、さらにロジックを実行できます。

私の懸念は、ユーザー リストが、ロジックに時間がかかりすぎるレベルまで成長することです。

私の 2 番目のアプローチはLinq、UserName (この場合は電子メール アドレス) がすべてのユーザーをループしないように、結合してユーザーを取得することです。

MembershipUserCollection userlist = (from user in Membership.GetAllUsers()
                                     where user.UserName == emailAddress
                                     select user).ToList();

上記で発生するエラーは次のとおりです。ソース タイプ 'System.Web.Security.MembershipUserCollection' のクエリ パターンの実装が見つかりませんでした。「場所」が見つかりません。範囲変数 'user' の型を明示的に指定することを検討してください。

一致する電子メール アドレスを持つユーザーのリストを最も効率的に取得するのを手伝ってくれる人はいますか?

4

2 に答える 2

1

どうですか:

Membership.FindUsersByEmail()
于 2013-03-05T15:18:10.457 に答える
1

使用する

Membership.FindUsersByEmail("blah@yahoo.com");

メンバーシップテーブルをデータモデルに追加して、他のモデルと同じようにクエリすることもできます。

于 2013-03-05T15:18:31.560 に答える