내가 단지 두 개의 열이 포함 된 간단한 테이블이 있다고 가정하자 :기존 레코드를 모두 삭제하지 않고도 LINQ-to-SQL을 사용하여 테이블을 업데이트하려면 어떻게해야합니까?
MailingListUser을
- PK ID (int)를
- FK 사용자 ID (INT) 내가 가진
UpdateMailList(IEnumerable
.<int
> userIDs라고하는 방법)
LINQ에서 전달 된 매개 변수에는 있지만 db에는 존재하지 않지만 db에 있지만 더 이상 UserID에없는 사용자 ID를 삭제하고 이미 db와 userID 둘 다에있는 것들만?
사용자에게는 확인란 목록이 표시되며 처음로드 할 때 해당 사용자가 선택한 maillist 용 멤버가 선택되어 있습니다.
사용자는 다양한 사용자를 선택 또는 선택 취소하고 "저장"할 수 있습니다. 이런 일이 발생하면 데이터베이스의 상태를 체크리스트의 상태로 업데이트해야합니다. 단순히 MailingListUser 테이블의 모든 항목을 삭제하는 것보다 더 나은 방법이 있나요
public void UpdateMailList(IEnumerable<int> userIDs)
{
using (MainDataContext db = new MainDataContext())
{
var existingUsers = (from a in db.MailListUsers
select a);
db.MailListUsers.DeleteAllOnSubmit(existingUsers);
db.SubmitChanges();
var newUsers = (from n in userIDs
select new MailListUser
{
UserID = n
});
db.MailListUsers.InsertAllOnSubmit(newUsers);
db.SubmitChanges();
}
}
}
}
, 모든 사용자 아이디 값을 다시 삽입 : 여기
내가 지금하고있어 무엇인가? 삭제해야하는 사용자를 조회하려면