asp.net 4 で新しいアプリケーションを設計する MS SQL データベース内の自分のデータと共に MS SQL メンバーシップ API を使用する方法を決定する必要があります。まず、プロファイル プロバイダーがサポートするよりも柔軟な方法で、ユーザー プロファイル データを保存してアクセスする必要があります。次に、他のユーザー関連情報 (注文など) をリンクしたいと思います。
aspnetdb テーブルをどこに (別のデータベースに、またはデータと同じデータベースに) 保存するかに関係なく、データの同期を維持する方法の問題は残ります。
調査の結果、次の関連オプションが表示されます。
1. asp_Users からの外部キー UserId (このチュートリアルで推奨)。
2. 外部キーを使用しないトランザクション (ここで推奨)。
3. 外部キーなし - カスタマイズされた AccountController を使用します (それが何であれ、ここで提案されています)。
4. メンバーシップ UserId (uid) をカスタム UserId (int) にリンクする追加のテーブル。
5. ...
一方では、最初のソリューションが非常に簡単で、公式の asp.net チュートリアルで提案されているので気に入っています。
一方、反対派は、外部キーを使用すると、懸念事項を分離し、交換可能であると考えられているプロバイダーの一般的な考え方が崩れることに非常に合理的に注意しています。しかし残念なことに、実装の詳細にはあまり触れていないため、関連性と実装の容易さの観点からこれらの提案を評価するのは簡単ではありません。
では、これにアプローチするための最良の選択肢は何ですか? さらに、実装はどのようになりますか? 追加の ADO.NET や LINQ などのコードを使用するだけで十分でしょうか、それともカスタム メンバーシップやプロファイル プロバイダーを実装する価値がありますか?
前もって感謝します。