更新时间:2023-01-22 17:28:38
您可以这样做:
var newUserIDs = NewUsers.Select(u => u.UserId).Distinct().ToArray();
var usersInDb = dbcontext.Users.Where(u => newUserIDs.Contains(u.UserId))
.Select(u => u.UserId).ToArray();
var usersNotInDb = NewUsers.Where(u => !usersInDb.Contains(u.UserId));
foreach(User user in usersNotInDb){
context.Add(user);
}
dbcontext.SaveChanges();
这将执行在数据库中单个查询要找到已经存在的用户,然后筛选出来的你的 newusers使用
设置。
This will execute a single query in your database to find users which already exist, then filter them out of your NewUsers
set.