Я создаю базу данных с футбольными командами, в которых есть игроки. Я использую метод seed для добавления моих данных, но инфраструктура Entity не будет обновлять мою базу данных, бросая ссылку на объект , не установленную в экземпляр объекта. ошибка.Метод семян не может добавить внешний ключевой объект
Я не уверен, как связать отношения в методе семян. Ниже приведен код.
Seed Метод
protected override void Seed(DataLayer.FootballContext context)
{
List<VoetbalPloeg> VoetbalPloegModels = new List<VoetbalPloeg>();
VoetbalPloegModels.Add(new VoetbalPloeg()
{
PloegNaam = "FC Barcelona",
StamNummer = 1241,
Spelers =
{
new Speler() { VoorNaam = "Lionel", AchterNaam = "Messi", Assists = 2, Goals = 15, GeboorteDatum = new DateTime(1990, 05, 15), Positie = "Spits", Rugnummer = 10},
new Speler() { VoorNaam = "Alonso", AchterNaam = "Xabi", Assists = 3, Goals = 7, GeboorteDatum = new DateTime(1985, 04, 24), Positie = "Centraal", Rugnummer = 13}
}
});
VoetbalPloegModels.Add(new VoetbalPloeg()
{
PloegNaam = "Real Madrid",
StamNummer = 1546,
Spelers =
{
new Speler() { VoorNaam = "Cristano", AchterNaam = "Ronaldo", Assists = 0, Goals = 17, GeboorteDatum = new DateTime(1989, 10, 7), Positie = "Spits", Rugnummer = 7},
new Speler() { VoorNaam = "Sergio", AchterNaam = "Ramos", Assists = 0, Goals = 4, GeboorteDatum = new DateTime(1986, 12, 04), Positie = "LaatsteMan", Rugnummer = 10}
}
});
foreach (var item in VoetbalPloegModels)
context.VoetbalPloeg.Add(item);
base.Seed(context);
}
игрока Модель
public class Speler
{
[Key]
public int SpelerId { get; set; }
public string VoorNaam { get; set; }
public string AchterNaam { get; set; }
public int Rugnummer { get; set; }
public string Positie { get; set; }
public int Goals { get; set; }
public int Assists { get; set; }
public DateTime GeboorteDatum { get; set; }
// Forgein Key
// public int VoetbalPloegId { get; set; }
// Navigation Property
//public virtual VoetbalPloeg VoetbalPloeg { get; set; }
}
футбольной команды Модель
public class VoetbalPloeg
{
[Key]
public int VoetbalPloegId { get; set; }
public string PloegNaam { get; set; }
public int StamNummer { get; set; }
public virtual ICollection<Speler> Spelers { get; set; }
}
EDIT: вопрос помечается как ответ первый результат вы получите в Google когда вы вводите мой общее сообщение об ошибке.
Какая линия бросает исключение? –
none Я использую update-database в консоли pm –
Возможный дубликат [Нулевая ссылка на миграцию платформы Entity Framework] (http://stackoverflow.com/questions/9481784/null-reference-onity-framework-migration) – Gusman