Tengo algunos problemas con linq-to-sql últimamente. El problema es que "piensa" que falla en las inserciones y actualizaciones cuando tenemos un activador asociado al evento. Un ejemplo podría ser una fila, donde se adjunta un disparador para establecer el "Último actualizador" de dos puntos a la hora actual, cuando se modifica una fila. Esto hará que linq-to-sql piense que ha fallado en la actualización o inserción, pero esto es solo algunas veces, ya que a veces ocurre, creo que es cuando el servidor sql está bajo una gran carga y por lo tanto no puede para ejecutar el disparador antes de que se realizara la validación, esto es solo especulación. Como mis scripts son solo una parte de un script mucho más grande, desactivar el disparador no es una opción, así que necesito encontrar una solución a esto o reescribir mi programa. ¿Alguno de ustedes ha experimentado este problema y ha encontrado una solución, por ejemplo, deshabilitar la validación después de las inserciones?Fallo de Linq a sql en la inserción y actualización cuando se trata de un disparador conectado
El gatillo.
USE [cnhha]
GO
/****** Object: Trigger [dbo].[LastUpdated] Script Date: 05/12/2011 16:26:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[LastUpdated] ON [dbo].[CN_User]
FOR INSERT, UPDATE
AS
update cn_user set lastupdated=getdate() where campusnetuserid in (select campusnetuserid from inserted)
Es posible que tenga que desactivar el desencadenador en un entorno de prueba para verificar que ese sea realmente el problema. ¿Es posible eliminar los campos alterados por el activador de la instrucción LINQ2SQL para que no intente verificar? – n8wrl
Qué tipo de desencadenador. Antes de la actualización o después de la actualización? –
podría agregar lo que parece el gatillo por favor? – DForck42