【发布时间】:2010-05-31 20:37:24
【问题描述】:
我在 .NET 中有我的项目,它使用 SQL Server 中的数据库。我正在使用 Linq-to-SQL,有时当项目在项目的一部分中向我抛出异常(约束)时,当我对数据库执行另一项操作时,同样的错误会一直显示在项目的其他部分中。就像当我进行插入时,我在删除时遇到异常,插入会抛出删除异常,并且它一直保持这种状态,直到我关闭并再次打开项目。我的主要问题是当我的在线项目中发生这种情况时,我的项目中的这个错误导致我在在线测试的项目中出现问题(我使用相同的数据库)。我不知道这个异常是在内存上还是什么,但它让我很头疼。
这是我执行错误删除(不执行级联删除)时抛出的异常
var actividad = (from ta in modeloDatos.tActividad
where ta.id_actividad == idActividad
select ta).Single()
modeloDatos.tActividad.DeleteOnSubmit(actividad);
modeloDatos.SubmitChanges();
return true;
}
catch (Exception ex)
{
return false;
}
ex = {"The DELETE statement conflicted with the REFERENCE constraint \"FK_tActividadRiesgo_tActividad\". The conflict occurred in database \"DBDESARROLLO\", table \"dbo.tActividadRiesgo\".\r\nThe statement has been terminated."}
当它进入这段代码时(插入)
proceso.id_encabezado = encabezadoProceso.id_encabezado;
proceso.id_procesopadre = idProcesoPadre;
modeloDatos.tProceso.InsertOnSubmit(proceso);
modeloDatos.SubmitChanges();
catch (Exception ex)
{
return -1;
}
向我抛出与我在做什么无关的完全相同的异常
ex = {"The DELETE statement conflicted with the REFERENCE constraint \"FK_tActividadRiesgo_tActividad\". The conflict occurred in database \"DBDESARROLLO\", table \"dbo.tActividadRiesgo\".\r\nThe statement has been terminated."}
我实际上是在使用不同的表。
【问题讨论】:
-
显示这样一个异常,以及它产生的周围代码 - 否则我们只需要查看一个魔术 8 球并做一些猜测。
-
魔8球认为ODBC连接有错误?
-
@VoodooChild:当然! - web.ics.purdue.edu/~ssanty/cgi-bin/eightball.cgi
-
另外,显示连接字符串?
标签: c# .net sql-server linq-to-sql