データベースに既存のアイテムのセットがありMultiSelectList
、Idの1つでShiftを演算子に追加できます。現在、オペレーターには3つのシフトが割り当てられています。これは、ビューで編集され、3から1シフトが削除されます。
既存のアイテムのセットを調べて、選択したアイテムのリストにないものを3つのうちどれを削除するかを決定するための最良の方法は何ですか。
最も簡単な方法は、Operatorのデータベース内のすべてのアイテムを削除してから、MultiSelectListから値を挿入することですが、LINQを使用して、IDのリストにない既存の場所から選択する方法があるかもしれないと考えました。
var existing = (from os in db.OperatorShifts
where os.OperatorId == model.Id
select os);
public List<Guid?> Shifts { get; set; }
public MultiSelectList AvailableShifts { get; set; }
model.Shifts