2 엔티티 사이에 많은 관계가 있습니다. UserInfo 및 캠페인 및 세 번째 테이블 UserInfoCampaignsLinq to SQL ManyToMany 기존 레코드 업데이트
프런트 엔드에서 사용자는 여러 개의 확인란을 사용하여 사용자 캠페인을 업데이트 할 수 있어야합니다. 그래서
내가 가진 :
var selectedCampaignsIds = new int[] {1,2,3}
var user = _extendedUserService.GetUser(new Guid(userId));
var newCampaigns =_campaignrepository.GetAllCampaignsByIds(selectedCampaignsIds);
내가 새롭게 따라 캠페인 선택 지정할 수 있습니다
는foreach (var campaign in newCampaigns)
{
var userInfoCampaign = new UserInfoCampaign { UserInfoId = user.Id, CampaignId = campaign.Id };
_campaignrepository.SaveUserInfoCampaign(userInfoCampaign);
}
내 질문은 I를 어떻게 사용자가 기존 캠페인을 보유하고 있거나 갖지 않았 음을 고려한 최신 UserInfo 캠페인?
기존 UserInfoCampaign을 모두 삭제 한 다음 새 UserInfoCampaign으로 다시 할당합니까? 또는 LINQ to SQL을 사용하여 먼저 UserInfo 캠페인을 삭제하지 않고 UserInfo 캠페인을 업데이트하는 더 효과적인 방법이 있습니까?
고마워요.
이것은 가장 쉬운 방법입니다. 그것은 제거 된 레코드에 대한 삭제를 커밋하는 문제를 해결합니다. 그렇지 않으면 몇 개의 사용자가있는 캠페인을 유지하지만 이전에 삭제해야하는 사용자는 무기한으로 유지됩니다. –