初めて SQL バックエンドを使用して ASP.NET メンバーシップ プロバイダーを使用していますが、臭いがするものに遭遇しました。 ..
メンバーシップ プロバイダーはwebpages_Membership
、ユーザー名などのユーザー プロパティを追跡するデフォルトを含むいくつかのテーブルを作成します。アプリケーションのデータベースにはemployees
、従業員のすべてのユーザー データを追跡するテーブルがあります。employees
テーブルには一意の識別子がid
あり、他の複数のテーブルへの外部キー列として使用され、レコードを更新した人、作成した人、割り当てられた人、コメントを残した人などを追跡します。
私が立てた最初の仮定は、webpages_Membership
テーブル内にビジネス ロジックとフィールドを配置したくない、またはUserId
外部キー リレーションシップで列を使用したくないということです。
私が行った 2 番目の仮定は、登録プロセスを完全に制御しており、ユーザーのログインが強制的に電子メールになるため、電子メール アドレス フィールドに基づいwebpages_Membership
てテーブルとテーブルを結合するだけでよいということです。employees
これは今、私の心の中でひどいにおいがするだけです...
この値を取得してデータベース内のテーブルにUser.Identity.Name
クエリを実行し、オブジェクトを取得してレコードにフィールドを設定できるようにするのは間違っているようです。employees
Employee
Id
- このために私は何をすべきですか?
- メンバーシップ データとビジネス オブジェクト データを結合する最良の方法は何ですか?
- 私もそれをする必要がありますか?
- トランザクションごとにデータベースに戻らないように、従業員オブジェクトをユーザーのセッションに保存する必要がありますか?