簡単な質問です。Visual Studio 2010 エンティティ フレームワークと MySQL を学習するためだけに、単純なフレンド データベース テスト アプリケーションを作成しようとしています。問題は、これが正しいかどうかわからないということです。
これが私の現在のモデルの画像です。
問題は、なぜ 2 つのフレンドのナビゲーション プロパティと 2 つのアカウント ナビゲーション プロパティがあるのかということです。2 人の友人のアカウントに到達できるように、2 つのアカウント ナビゲーション プロパティを持つ唯一のエンティティは友人エンティティではないかと思いました。
これが私のテーブルレイアウトです:
- アカウント:
- idaccounts - 主キー、null ではない
- nick - ユーザーのニックネーム
- 友達:
- idfriends - 主キー、null ではない
- friend_one - 最初のアカウント番号
- friend_two - 2 番目のフレンド番号
- status - 友情のステータスが含まれます (1. 保留中、2. 承認済み、3. 拒否済み)
また、友人テーブル内にアカウント テーブルへの 2 つの外部キーを作成しました。1 つは friend_one という名前で、friend テーブルの friend_one 列を使用して accounts テーブルを参照します。もう 1 つは friend_two という名前で、friend_two 列を使用して accounts テーブルを参照します。
これは通常の方法ですか、それとももっとまともな方法がありますか?