【问题标题】:EF 5 AddOrUpdate Duplicates dataEF 5 AddOrUpdate 重复数据
【发布时间】:2013-05-31 15:09:16
【问题描述】:

这是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 指向该城市,而其余的则指向原始城市。

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

【问题讨论】:

    标签: entity-framework entity-framework-5


    【解决方案1】:

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

    var city = context.Cities.FirstOrDefault(c => c.Name == "A") 
                                         ?? new City { Name = "A" };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      相关资源
      最近更新 更多