C# 更新SQL C时出错#

C# 更新SQL C时出错#,c#,sql,C#,Sql,当我尝试从数据库中删除某些数据时,出现以下错误: 更新时出错 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(); } 谢谢你的帮

当我尝试从数据库中删除某些数据时,出现以下错误: 更新时出错

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();
}
谢谢你的帮助

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

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

如果在集合中具体化查询,则该方法有效:

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

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

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

请试试这个

完整的错误消息是什么?更新条目时出错。有关详细信息,请参阅内部异常。否,相同的错误可能是因为没有更新数据,而我尝试保存更改?因此完整的错误消息是:“更新时出错”?设置一个断点并查看内部异常。这是因为我的表中有链接,并且我不需要在创建之前删除什么是链接think@Cyril:您是否有可能发布完整的异常消息?您可以通过在
context.Pages.Remove(u)行设置断点来获得它并在调试器的“快速监视”窗口中执行该语句。或者您添加一个
尝试Catch
并在
Catch
中设置一个breakpoint。是的,这是因为我在删除页面之前没有删除链接中的数据