Не удается обновить LINQ to SQL при наличии триггера - PullRequest
1 голос
/ 04 апреля 2011

У меня есть программа, которая использует LINQ to SQL для обновления некоторых таблиц, это очень простое обновление, я просто установил «Active» connlon на 1.

else if (obj.Active == 0)
{
   Debug("Found user, but inactive setting to active.");
   obj.Active = 1;

У меня также есть логика удаления и вставки, но там нет проблем. Проблема в том, что SubmitChanges () генерирует исключение sayint

1 из 20 Обновления не удалось

Нет другой информации. Теперь, несмотря на некоторую отладку, я обнаружил, что когда мой триггер в базе данных активен, я получаю эту ошибку каждый раз, но когда она отключена, все работает нормально.

Это триггер.

USE [CbsMatrikel]
GO
/****** Object:  Trigger [dbo].[LastUpdated]    Script Date: 04/04/2011 10:28:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      JEFE
-- Create date: 19-04-2010
-- Description: FullTextSearch field
-- =============================================
ALTER TRIGGER [dbo].[LastUpdated] ON [dbo].[account] 
FOR INSERT, UPDATE
AS

set nocount on

update account 
set lastupdated=getdate(),
FullTextSearch = firstname + ' ' + lastname + ' ' + official_email_address + ' ' + UserName + ' ' + cast(matrikel_id as varchar)
where matrikel_id in (select matrikel_id from inserted)

Я думаю, что проблема в том, что он проверяет данные, и поле FullTextSearch было изменено, поэтому он считает, что есть какая-то ошибка, но я не уверен. Кто-нибудь сталкивался с этой проблемой раньше или знаете, как это исправить? Я не могу изменить базу данных или триггеры, так как она является частью гораздо большей системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...