Как я могу использовать EF Code First для объявления отношения «один-ко-многим»?

Я пытаюсь определить простую связь «один-ко-многим» между двумя poco , используя Fluent API Entity Framework.

~ Team ~
public int TeamId { get; set; }
public ICollection<User> TeamMembers { get; set; } // All the team players. Two way nav.
public Player CreatedBy { get; set; } // Which player created this team. One way navigation.
                                      // Optional. Not all players create a team.

~ Player ~
public int PlayerId { get; set; }
public Team Team { get; set; } // The other side of the TeamMembers navigation.

ПРИМЕЧАНИЯ:

  • Игрок не обязательно должен быть в команде. (не назначенные / выброшенные игроки).
  • В команде может не быть игроков (все они ушли / вышли).

Самое близкое, что я думал, что я нашел, было примерно таким ...

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Team>()
        .HasOptional(x => x.TeamMembers)
        .WithMany()
        .WillCascadeOnDelete(false);
}

... Что не ' не работает .. и я не уверен, как определить и другие навигационные системы.

Кто-нибудь может помочь, пожалуйста?

7
задан Pure.Krome 20 March 2011 в 14:20
поделиться