Я пытаюсь создать список поездок на поезде (между прочим) в MVC, используя сначала код Entity Framework и интересуясь, как я могу отобразить внешние ключи для станций.Модель / таблица Journey
будет иметь DepartureStationID
и ArrivalStationID
, которые будут внешними ключами, связывающими одну таблицу / модель с именем Station
.
. Вот код для обеих этих моделей:
public class Station
{
public int StationID { get; set; }
public string StationName { get; set; }
public string StationLocation { get; set; }
}
public class Journey
{
public int JourneyID { get; set; }
public int DepartureID { get; set; }
public int ArrivalID { get; set; }
public int OperatorID { get; set; }
public string JourneyCode { get; set; }
public virtual Operator Operator { get; set; }
public virtual Station DepartureStation { get; set; }
public virtual Station ArrivalStation { get; set; }
}
Там есть еще одно значение внешнего ключа, а именно Operator
, которое успешно сопоставлено, но отправления и прибытия не имеют, и возвращают нулевые значения в представлении: (@Html.DisplayFor(modelItem => item.DepartureStation.StationName)
.
Когда я посмотрел в базе данных, EF создал два дополнительных поля:
DepartureStation_StationID
ArrivalStation_StationID
И отношение SQL было между таблицей станций и двумя полями выше, а не DepartureID
и ArrivalID
Итак, мой вопрос: нужно ли делать что-то другое в модели при обращении к одной и той же таблице для двух полей?Я не знаю, почему были добавлены эти дополнительные поля, поэтому я предполагаю, что настроил модель неправильно.
Спасибо