在实体框架中更新数据库中的所有记录时出现异常
本文关键字:记录 异常 框架 实体 更新 数据库 | 更新日期: 2023-09-27 18:22:21
我在下面的代码片段中遇到了实体框架的这个奇怪问题
var userWorkItems = (from uw in context.UserWorkItems
join u in context.DNN_Users on uw.UserID equals u.UserID
where u.Username.StartsWith(fromUserName)
select uw).ToList();
if (userWorkItems != null)
{
for (int i = 0; i < userWorkItems.Count; i++)
{
userWorkItems[i].UserID = toUserID.Value;
}
context.SubmitChanges();
}
当发生异常时,使用fromUserName
的Userid
更新整个表。
是什么样的异常导致了这种奇怪的行为,尽管现在已经在context.SubmitChanges();
中添加了一个try-catch
还是我们得出了错误的结论?
异常发生在哪里,什么是异常?我相信你的问题可能是fromUserName
。如果它是一个空字符串,它将返回每一个UserWorkItem
。如果抛出了一个错误,而您不希望它在上下文中进行部分保存,请像这样将其封装在TransactionScope
中
using(var scope = new TransactionScope()){
//Do whatever
scope.Complete();
}