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