Существует ли какая-либо связь между внешним ключом в таблицах подчеркивания и свойствами навигации в модели? - PullRequest
0 голосов
/ 20 августа 2011

Я путаюсь со свойствами навигации в EF Code First.

Следующие 2 класса взяты из Учебник ScottGu по EF Code First .

public class Dinner
{
  public int DinnerID { get; set; }
  public string Title { get; set; }
  public DateTime EventDate { get; set; }
  public string Address { get; set; }
  public string HostedBy { get; set; }   

  public virtual ICollection<RSVP> RSVPs { get; set; }   
}

public class RSVP
{
  public int RsvpID { get; set; }
  public int DinnerID { get; set; }
  public string AttendeeMail { get; set; }

  public virtual Dinner Dinner { get; set; }
}

Это две таблицы В уроке ScottGu NerdDinner: Обеды и RSVP .Столбец DinnerID - это первичный ключ для Ужина и внешний ключ для RSVP.

Это мои вопросы:

  1. Я понимаю, почему в классе Diner есть свойство ICollection RSVPs , но почему свойство Dinner Dinner в классе RSVP?
  2. Что произойдет, если я не добавлю свойство навигации DINER в классе RSVP?

Я могу подвести итог всем моим вопросам, сказав: "Есть ли какая-либо связь между внешним ключом в таблицах подчеркивания и свойствами навигации в модели? "

Свойства навигации предназначены для отражения взаимосвязи между таблицами в базе данных подчеркивания или нет?

Извините, что так долго, я очень запутался.

Спасибо за помощь

1 Ответ

2 голосов
/ 20 августа 2011
  1. ICollection RSVP в классе Diner и свойство Dinner в классе RSVP являются навигационными свойствами что указывает на то, что существует отношение один ко многим между Diner и RSVP . Да, навигационные свойства предназначены для отражения взаимосвязи.

    2.Вы можете сделать это. у вас должно быть свойство навигации по крайней мере для одной стороны, чтобы отобразить отношения. Первый код EF4: как добавить связь без добавления свойства навигации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...