1

だから私がやろうとしているのは、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 のリストに変換する) をあまり行わずに、これを達成するためのより良い方法はありますか?

4

0 に答える 0