加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#EF代码第一播种数据 – 继续添加(而不是更新)

发布时间:2020-12-16 09:47:44 所属栏目:百科 来源:网络整理
导读:参见英文答案 How to Handle Primary Key in Entity Framework 5 Code First????????????????????????????????????1个 我有一个User类型的列表,当我尝试播种我的数据库以反映更新时,它只是再次添加所有条目.我将分享我在Seed()方法中执行的代码.我希望只更新
参见英文答案 > How to Handle Primary Key in Entity Framework 5 Code First????????????????????????????????????1个
我有一个User类型的列表,当我尝试播种我的数据库以反映更新时,它只是再次添加所有条目.我将分享我在Seed()方法中执行的代码.我希望只更新记录(但保留添加功能),如果它们已经存在的话.有什么想法吗?

List<User> users = new List<User>();

users.Add(new User { FirstName = "Dee",LastName = "Reynolds" });
users.Add(new User { FirstName = "Rickety",LastName = "Cricket" });

users.ForEach(b => context.Users.AddOrUpdate(b));

解决方法

您只需在添加/更新记录时指定要检查的密钥.所以对于新用户,你会这样做:

context.Users.AddOrUpdate(x => x.UserName,//Or some other field that you know will be consistant
    new User { FirstName = "Dee",LastName = "Reynolds" }
);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读