2

私は SQLMembershipProvider を使用しており、ユーザーに関する詳細情報を追加したいと考えています。これを行うには、新しい DB を作成し、新しいユーザーが作成されるたびにエントリを作成するのが最善の方法ですか? その場合、SQLMembershipProvider UserID 値を新しい DB の users テーブルの PK として使用しない理由はありますか?

または、新しい DB に新しい UserID を作成し、SQLMembershipProvider UserID を FK として使用する正当な理由はありますか?

4

3 に答える 3

2

それがうまくいかない理由、またはそのようにしてはいけない理由が思いつきません(PKとしてのユーザーID)

すべてに別のデータベースを使用する理由がわかりません。おそらく、現在のデータベースにテーブルを作成し、ユーザー ID を aspnet_users テーブルの FK として使用してセットアップするだけです。

于 2009-07-29T15:41:14.980 に答える
1

メンバーシッププロバイダーを書き換える場合は、すべてのPK列をGUIDからBITINTに切り替えます。私は2つの理由でこれを行います。1つの連続番号は、操作と理解がはるかに簡単であり、2つ目は、GUIDIDの代わりにBIGINTを使用することによるパフォーマンス上の利点があります。また、アプリケーション内の他のテーブルを高く評価するために使用できる独自のid列を使用し、SQLメンバーシッププロバイダーにデフォルトで付属しているテーブルを削除します。これを行うには、プロバイダーの各関数にコードを提供する必要があります。これは簡単な作業ではありません。

于 2009-07-29T15:50:01.637 に答える
0

MembershipUser追加のプロパティを含む派生クラスと、派生クラスMembershipProviderのインスタンスを作成する派生クラスを使用して、既存のデータベース スキーマのラッパーを作成しましたMembershipUser

他のサポート API は多少制限されているため、メンバーシップ認証と更新メソッドのみを使用します。管理者が使用する別の作成/編集ユーザー API があります。

このソリューションは現在、いくつかのサイトで使用されており、うまく機能しています。

于 2009-07-29T16:01:43.267 に答える