Итак, я считаю, что я испортил свои первоначальные модели и пропустил свойство ID и внешнего ключа. Entity Framework все это понял ... но теперь я хочу исправить свои модели, чтобы правильно отразить это.Добавить существующее значение столбца в качестве нового свойства на модели
Первоначально мои модели были: -
public Season
{
public int SeasonId {get; set;}
public int Year {get; set;}
public virtual ICollection<MatchFixture> MatchFixtures {get; set;}
}
public MatchFixture
{
public int MatchFixtureId {get; set;}
public int Round {get; set;}
public string HomeTeam {get; set;}
public string AwayTeam {get; set;}
}
Теперь я считаю, что я должен MatchFixture обладать свойствами, так что указывает на сезон, который содержит его, добавив следующие свойства MatchFixture.
public int SeasonId {get; set;}
public Season Season {get; set;}
Но проблема в том, что моя базе данных уже есть столбец в моем MatchFixtures под названием Season_SeasonId. Это столбец с нулевым числом, который, очевидно, поступает из моей коллекции в сезоне. Если бы у меня первоначально были свойства выше в MatchFixture, столбец просто назывался SeasonId и был бы не-nullable целым столбцом.
То, что я хочу для значений в этом столбце должны быть переданы в мой новый столбец ....
- Как я могу это сделать с помощью CodeFirst миграции? Должен ли я переименовать столбец и изменить его на непустую, и мы закончили?
- Должен ли я добавлять эти свойства? Я нахожу, что мой код еще проще перемещает «вверх по иерархии» (т. Е. Какой сезон в этом MatchFixture существует? MatchFixture.Season, но я чувствую, что это часть более серьезной проблемы, когда мое понимание Entity Framework мешает мне.