Entity Frameworkは多対多リレーションシップを自動的に作成しますか?多対多リレーションシップを自動的に作成するEntityFramework
私はこの下にしようとしています:
public DbSet<User> Users { get; set; }
public DbSet<Sport> Sports { get; set; }
public DbSet<Team> Teams { get; set; }
- I持って、多くのスポーツ
- 私はスポーツで多くのチームを持っている
- 私はチーム
で多くのユーザーを持っていますクラス:
スポーツ
public int ID { get; set; }
public List<Team> Teams { get; set; }
チーム
public int ID { get; set; }
public List<User> Members { get; set; }
public int SportID { get; set; }
ユーザー
public int UserID { get; set; }
問題:
だから、彼らの外部キー団体とテーブルのユーザー、スポーツ、チーム罰金を作成し、お互いに。問題は、これらのテーブルが正規化されておらず、冗長データを持っていることです。また、チームテーブルのメンバーを照会しようとすると、常にnullメンバーリストが表示されます。
たとえば、Team_IDという列があるため、チームに追加すると新しいユーザーレコードが作成されます。
Many-Manyリレーションシップテーブルを自動的に作成しないでください。それには列があります。| UserID | SportID | TeamID |
私はこれを試してみましょう!ありがとう! – bob
IEnumerableチームをユーザーに追加しようとしましたが、多数の関係は作成されません。ところで、私はUserテーブルにTeam_IDを入れるようEFに指示しませんでした。私のUserモデルにTeam_IDプロパティはありません。それは創造の上にそれを置く。 –
bob
1チームは多くのスポーツに参加できますか? – Shyju