这是 Seed 方法中的代码:
var city = new City { Name = "A" };
var nh = new List<Neigh>
{
new Neigh { City = city, Name = "N1" },
new Neigh { City = city, Name = "N2" },
new Neigh { City = city, Name = "N3" },
//new Neigh { City = city, Name = "N4" },
};
context.Neighs.AddOrUpdate(
p => p.Name,
nh.ToArray()
);
运行 update-database 后,一切都按预期工作。我可以多次运行它而没有问题。但是,如果在某些时候我取消注释第四个社区并再次运行 update-database,我最终会得到两条城市“A”的记录,N4 指向该城市,而其余的则指向原始城市。
如果列表更新,如何防止插入重复的城市?