私は選手がいるサッカーチームとデータベースを作成しています。データを追加するためにシードメソッドを使用していますが、Entityフレームワークがデータベースを更新しないため、オブジェクト参照がオブジェクトのインスタンスに設定されていません。エラー。シードメソッドは外部キーオブジェクトを追加できません
シードメソッドでリレーションをリンクする方法がわかりません。以下はコードです。
シード方法
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:答えとしてマークされた質問は、あなたがグーグルに入る最初の結果であり、あなたが私の名前を入力するとき一般的なエラーメッセージ。
? –
なしPMコンソールでupdate-databaseを使用しています –
[Entity Framework MigrationでのNull参照]の重複の可能性あり(http://stackoverflow.com/questions/9481784/null-reference-onentity-framework-migration) – Gusman