データベース コンテキストを埋めようとしていて、ループの最後にすべての変更を保存しています。
foreach (var kommune in valgkreds.Value.SubAreas)
{
var komExist = dbConnection.Omraade.FirstOrDefault(x => x.Id == kommune.Value.Id);
if (komExist == null)
{
Omraade k = new Omraade();
k.Id = kommune.Value.Id;
k.titel = kommune.Value.Name;
k.type_id = 3;
dbConnection.Omraade.Add(k);
Krydstabel_Omraade ko_kommune = new Krydstabel_Omraade();
ko_kommune.parent = valgkreds.Value.Id;
ko_kommune.child = kommune.Value.Id;
dbConnection.Krydstabel_Omraade.Add(ko_kommune);
Console.WriteLine(k.Id);
//Console.WriteLine(++i);
}
}
次の行を使用して、オブジェクトをコンテキストに既に追加しているかどうかを確認しています。
var komExist = dbConnection.Omraade.FirstOrDefault(x => x.Id == kommune.Value.Id);
null
オブジェクトが追加されていても、常に を返します。まだデータベースに保存されていないためだと思います。SaveChanges()
メソッドを実行する前に、それがコンテキスト内にあるかどうかを確認するにはどうすればよいですか?