だから私がやろうとしているのは、CSV とデータベース (SSIS を使用しない) の間に基本的な同期システムを作成することです。また、計算などのために他の魔法のようなことも行います。
同期の最初のステップは、CSV ファイルに存在しなくなった DB 内のユーザーを削除することです。
私はList<StaffInfo>
どこにStaffInfo
いる
public class StaffInfo
{
public int ID {get;set;}
public string Firstname {get;set;
// etc etc etc ... ... ...
}
私の最初の考えは、リストからUserIDのリストを取得し、DBにないユーザーを選択してからループして削除することでしたが、これは非常に無駄に思えます
// 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 のリストに変換する) をあまり行わずに、これを達成するためのより良い方法はありますか?