1

所以我想做的是在 CSV 和数据库(不使用 SSIS)之间创建一个基本的同步系统,它还为计算等做一些其他神奇的事情。

同步的第一步是删除数据库中不再存在于 CSV 文件中的所有用户。

我有一个在List<StaffInfo>哪里StaffInfo

public class StaffInfo
{
    public int ID {get;set;}
    public string Firstname {get;set;
    // etc etc etc ... ... ...
}

我最初的想法是从列表中获取用户ID列表然后选择不在数据库中的用户然后循环并删除,但这似乎非常浪费

// oUsers contains List<StaffInfo>
// Context is the reference to the EF Context 
var myList = (from c in oUsers select c.ID).ToList();
var usersNotInDb = context.Users.Where(x => !myList.Contains(x.UserId));

foreach (var user in usersNotInDb)
{
    context.DeleteObject(user);
}
context.SaveChanges();

有没有更好的方法来实现这一点,而无需直接进行数据传输或数据操作(即将复杂对象转换为用户 ID 列表)

4

0 回答 0