所以我想做的是在 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 列表)