В настоящее время я использую дозвуковую 2.0.3, чтобы создать мою dataaccess для существующего проекта.
При добавлении sql триггера в таблицу subsonic начинает глючить при вставке с сообщением об ошибке
The target table 'Table Name' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.
Триггер, который я использую,
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[TriggerName]
on [dbo].[TableName]
AFTER Insert
AS
BEGIN
INSERT INTO TableName
(Values)
SELECT Values
FROM Inserted
END
По-видимому, это связано с тем, что автоматически сгенерированный код
INSERT INTO TableName
OUTPUT INSERTED.[ColumnName]
VALUES(Values)
Есть ли способ изменить триггер или изменить сгенерированный код, созданный Subsonic 2.0.3, чтобы это работало?
1 ответ
М / с говорят, что это ошибка. Вам нужен .NET 3.5 установлен и примените патч:
http://support.microsoft.com/kb/961073
Или
http://support.microsoft.com/hotfix/kbhotfix.aspx?kbnum=961073&kbln=en-us.
Глядя на код, вы вставляете в Table2, не одинаковую таблицу, на котором работает триггер. Если его та же таблица, я бы подумал, что вы уволите ту же триггер вставки, и это приведет вас к цикле.
Похожие вопросы
Новые вопросы
asp.net
ASP.NET - это среда разработки веб-приложений Microsoft, которая позволяет программистам создавать динамические веб-сайты, веб-приложения и веб-службы. Полезно использовать этот тег в сочетании с тегом типа проекта, например, [asp.net-mvc], [asp.net-webforms] или [asp.net-web-api]. НЕ используйте этот тег для вопросов о ASP.NET Core - используйте вместо этого [asp.net-core].