0

子コレクションを持つエンティティがあります

ID のリスト => NewIdList を指定すると、NewIdList にない Children からのアイテムを取得し、NewIdList にはあるが Children には含まれない ID の新しいアイテムを作成します。

言い訳疑似コード:)

myEntity.Children = new [] {2, 3}

var newIdList = new [] {1, 2, 4, 5}

// Do Magic

myEntity.Children = new [] {1, 2, 4, 5}

// Note that '2' would not have a created date 
// or audit record as it was in the list before Do Magic occured

こんな企画をする予定です

var newIdList = new [] {1, 2, 4, 5};
var childrenToRemove = myEntity.Children.Where(c=> !newIdList.Contains(c));
var childrenToAdd = newIdList.Where(c => myEntity.Children.Contains(c));

foreach(var cr in childrenToRemove){
    myEntity.Children.Remove(cr);
}

foreach(var ca in childrenToAdd ){
    myEntity.Children.Add(cr);
}

これはこれを達成するための最良の方法ですか...ちょっと不器用に感じます

4

1 に答える 1