EF 5 AddOrUpdate 重复数据

2023-12-07

这是种子方法中的代码:

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 后,一切都按预期进行。我可以毫无问题地运行它多次。但是,如果在某个时候我取消注释第四个社区并再次运行更新数据库,我最终会得到两条记录,其中城市“A”和 N4 指向该城市,而其余的则指向原始城市。

如果列表更新,如何防止插入重复的城市?


您必须通过检查城市是否已存在来启动脚本:

var city = context.Cities.FirstOrDefault(c => c.Name == "A") 
                                     ?? new City { Name = "A" };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EF 5 AddOrUpdate 重复数据 的相关文章

随机推荐