私はここでちょっとした難問に直面しています.Guruの何人かが空白を埋めるのを手伝ってくれることを願っています.
私が現在直面している状況は、「ユーザー」テーブルと「OpenID」テーブルに関するものです。私のアプリでは、ユーザーが複数の OpenID を持つことができるため、別のテーブルでそれらを追跡しています。
ユーザー
ID
ユーザー名OpenID
ID
UserID
Claimedidentifier
テーブルごとに CRUD リポジトリがあり、リポジトリと連携するサービスもあります (リポジトリごとに 1 つのサービス)。
私が持っている質問は、新しいユーザーの挿入に関するものです (更新は同じプリンシパルに従うため)。これが私の頭の中にあるオプションです。
- UserService に新しいユーザーを挿入させ、ユーザーの ID を取得してから、UserID を使用して新しい OpenID を挿入します。
- UserService に新しいユーザーを ClaimedIdentifier と共に UserRepository に送信させ、リポジトリに User と OpenID の両方を挿入させます (これは CRUD 方法論にはあまり適していません)。
- User テーブルと OpenID テーブルの両方のビューを作成し、UsersOpenIDRepository と UsersOpenIDService を作成して、ビューに挿入します。
私が考えることができる以上の他の考えや提案は大歓迎です.
私はNHibernateを使用していないことに注意してください。これにより、ドメインをモデル化できますが、適切だと思います。このプロジェクトではLinq to SQLにこだわっていますが、