我有2個實體之間的多對多關係。 UserInfo和Campaign和第三張表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);
}
我的問題是我怎麼了最新的UserInfo活動考慮到用戶可能擁有或不具有現有的活動?
我是否刪除所有現有的UserInfoCampaigns然後重新分配新的?或者有更好的方式來更新UserInfo活動,而不是首先使用LINQ to SQL刪除它們?
非常感謝。
這是最簡單的方法。它解決了爲刪除的記錄提交刪除的問題。否則,你會堅持一個擁有幾個用戶界面的活動,但任何舊的,應該刪除的用戶界面將無限期地保留。 – 2011-01-11 00:16:45