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

scn*_*iro 3 c# entity-framework ef-migrations

我有一个类型列表,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));
Run Code Online (Sandbox Code Playgroud)

led*_*per 7

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

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


归档时间:

查看次数:

1953 次

最近记录:

11 年,6 月 前