【问题标题】:An error occurred on Update SQL C#更新 SQL C# 时发生错误
【发布时间】:2015-07-20 08:32:59
【问题描述】:

当我尝试从我的数据库中删除一些数据时,我遇到了错误: 更新时出错

using (myEntities context = new myEntities())
{
    var order = context.Pages.Where(o => o.Name == pName);
    foreach (var u in order)
    {
        context.Pages.Remove(u);
    }
    context.SaveChanges();
}

感谢您的帮助!

已修复的错误: 这是因为我没有从与我的表链接的其他表中删除数据

【问题讨论】:

  • complete 错误信息究竟是什么?
  • 更新条目时出错。有关详细信息,请参阅内部异常。

标签: c# sql


【解决方案1】:

我猜错误是this,枚举期间不能修改集合。

如果您在集合中实现查询,它会起作用:

var orderListToDelete = context.Pages.Where(o => o.Name == pName).ToList();
foreach (var u in orderListToDelete)
{
    context.Pages.Remove(u);
}
context.SaveChanges();

【讨论】:

  • 不,同样的错误可能是因为没有数据更新,我尝试保存更改?
  • 所以完整的错误信息是:“更新时出错”?设置断点并查看内部异常。
  • 这是因为我的表格中有链接,并且在我想之前我没有删除什么是链接
  • @Cyril:你有没有机会发布完整的异常消息?您可以通过在context.Pages.Remove(u); 行设置断点并在调试器的快速监视窗口中执行语句来获得它。或者你添加一个Try-Catch 并在Catch 中设置一个断点。
  • 是的,这是因为我在删除我的页面之前没有删除链接数据
【解决方案2】:

我面临这种类型的问题。但我的解决方案就在这里。

var order = context.Pages.AsQueryable().Where(o => o.Name == pName);
if(order!=null)
 {
   order.ToList().ForEach(o=>context.Pages.Remove(o));
   context.SaveChanges();
 }

请试试这个。

【讨论】:

    猜你喜欢
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多