私の問題はこの質問に関連しています: Entity Framework One-To-One Mapping Issues
既に多数のレコードを持つ Users テーブルがあります。
Users (Id, UserName, Password, FullName, Gender)
各ユーザーに一連の通知オプションを追加する必要があります。
NotifyForNewComment
NotifyForNewPost
NotifyWhenFriendSignsUp
後でさらにオプションを追加する必要があるかもしれませんが、常に 1 対 1 の関係があるため、これらを別のテーブル (UserSettings など) に格納するか、単に列としてユーザー テーブルに追加するかが問題です。
リンクされた質問 (上記) では、新しいテーブルを作成し、UserSettings テーブルの UserId を主キーにすることをお勧めします (そうしないと、Entity Framework が気に入らないため)。それが私がしなければならないことである場合、それに関していくつか質問があります。
すべてのテーブルに Id 列があります。UserId が主キーになるため、UserSettings には Id 列がありませんか?
UserSettings テーブルの ID 挿入を有効にする必要があるため、新しい User レコードを挿入するときに、UserId を使用して UserSettings レコードも挿入できますか?
Users テーブルに既に多数のレコードがあることを考えると、UserSettings テーブルと 1 対 1 の関係を持つ新しい UserSettings テーブルを導入する場合はどうすればよいですか? スクリプトを実行して、Users テーブルに各ユーザーのレコードをいくつかのデフォルト値で追加するだけですか? それとも0対1の関係にしますか?
これは 1 対 1 の関係であるため、新しいテーブルについて心配する必要はなく、既存の Users テーブルに列として追加するだけでよいでしょうか?