C# 批量更新记录实体框架列表
我有一个更新对象的列表。我试图只用一个数据库调用来更新所有记录。(一个context.SaveChanges()命令)。此程序在windows服务中运行。我的问题不是更新,而是将数据库中的所有记录相乘并添加重复项。下面是我的代码C# 批量更新记录实体框架列表,c#,database,entity-framework,windows-services,C#,Database,Entity Framework,Windows Services,我有一个更新对象的列表。我试图只用一个数据库调用来更新所有记录。(一个context.SaveChanges()命令)。此程序在windows服务中运行。我的问题不是更新,而是将数据库中的所有记录相乘并添加重复项。下面是我的代码 //adding the list of updated customer objects to the list context_CLTUS.Customer_Updates.AddRange(list.customerUpdateList); foreach (va
//adding the list of updated customer objects to the list
context_CLTUS.Customer_Updates.AddRange(list.customerUpdateList);
foreach (var j in list.customerUpdateList)
{
//calling entity state modify for each record
context_CLTUS.Entry(j).State = EntityState.Modified;
}
//save updated list in one db call.
context_CLTUS.SaveChanges();
我无法澄清为什么所有记录都是重复的而不是更新的。你能解释一下并帮我解决这个问题吗。谢谢。请参阅此
您可以尝试以下解决方案:
这里唯一需要的是context_CLTUS.SaveChanges();删除其余内容如果删除
AddRange
调用会发生什么?删除AddRange
对我很有效谢谢你的评论!第一次尝试实体框架Plus,节省了我的时间!谢谢大家!@蒂兰卡1989很抱歉我的误解,在你的情况下,也许上面的评论更容易,谢谢你的投票。