locked
Ключи в EntityFramework Code-First RRS feed

  • Вопрос

  • Допустим есть класс

    public class Boy
    {
    public int BoyId {get;set;}
    public string Name {get;set;}
    }
    public class Team
    {
    public int TeamId {get;set;}
    public string Name {get;set;}
    public ICollection<Boy> Boys {get;set;}
    }
    

    Код описан так. В каждой  команде есть много ребят. То есть зная команду можно найти нужного ребенка. Но! - Но зная ребенка нельзя найти команду где он находится, это то что мне нужно. Конечно можно было бы добавить в класс Boy

    public class Boy
    {
    public int BoyId {get;set;}
    public string Name {get;set;}
    public Team Team {get;set;}
    }

    а еще проще будет так

    public class Boy
    {
    public int BoyId {get;set;}
    public string Name {get;set;}
    
    public int TeamId {get;set;}
    public Team Team {get;set;}
    }

    и вот здесь ключ

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
                //one-to-many Team
                modelBuilder.Entity<Team>().HasMany<Boy>(s => s.Boys)
                .WithRequired(s => s.Team).HasForeignKey(s => s.TeamId);
        }
    или что то подобное. . .

    и определение куда проще.

    НО это не то что хочу. А хочу что бы команда могла ссылаться к ребятам, а ребята не могли ссылаться к команде.

    Я думаю такой подход(а именно односторонняя связь) есть в CodeFirst. Подскажите как оформить ключ

    16 января 2014 г. 3:21

Ответы

  • "А хочу что бы команда могла ссылаться к ребятам, а ребята не могли ссылаться к команде. " - это не совсем логично получается, так как в подобных случаях делается наоборот. Т.е. каждый участник содержит номер команды, и состав команды определяется именно по этому признаку. А если вы хотите наоборот, то уже получается нужна третья таблица, которая будет хранить связки участник-команда, раз в самой команде информации об этом не будет.

    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа Medet Tleukabiluly 16 января 2014 г. 7:37
    16 января 2014 г. 6:07
    Модератор

Все ответы

  • "А хочу что бы команда могла ссылаться к ребятам, а ребята не могли ссылаться к команде. " - это не совсем логично получается, так как в подобных случаях делается наоборот. Т.е. каждый участник содержит номер команды, и состав команды определяется именно по этому признаку. А если вы хотите наоборот, то уже получается нужна третья таблица, которая будет хранить связки участник-команда, раз в самой команде информации об этом не будет.

    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа Medet Tleukabiluly 16 января 2014 г. 7:37
    16 января 2014 г. 6:07
    Модератор
  • скорей добавлю поле, чем еще таблицу. спс
    16 января 2014 г. 7:36