Лучший отвечающий
Ключи в EntityFramework Code-First

Вопрос
-
Допустим есть класс
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. Подскажите как оформить ключ
- Перемещено YatajgaModerator 16 января 2014 г. 6:08
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