我有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