我正在使用DataContext
c# 中的对象和 Linq to SQL。我正在尝试将愿望清单上的愿望投票转移到管理员已确定第一个问题与其重复的问题。但是,由于该vote
表具有WishId
andUserId
作为主键,如果用户已经对目标愿望进行了投票,则插入将失败。我想做的是忽略这些情况(vote
在插入之前不查询表)并插入所有有效票。这就是我想做的。
using (linqWishesDataContext dataContext = new linqWishesDataContext())
{
try
{
dataContext.WishlistUpvotes.InsertAllOnSubmit(destinationVotes);
dataContext.SubmitChanges(ConflictMode.ContinueOnConflict);
}
catch{}
}
我现在的一个解决方案是这样做:
foreach (WishlistUpvote vote in destinationVotes)
{
using (linqWishesDataContext dataContext = new linqWishesDataContext())
{
try
{
dataContext.WishlistUpvotes.InsertOnSubmit(vote);
dataContext.SubmitChanges();
}
catch { }
}
}
但是,如果有几百或几千张选票需要移动,那么DataContext
为每张选票创建一个新选票似乎是个坏主意。有什么建议么?