Обновление триггеров C # Migrations - PullRequest
0 голосов
/ 30 августа 2018

У меня есть существующая миграция БД, созданная для триггеров в частичном классе. Теперь мне нужно обновить эти триггеры. Код выхода

 string triggerBodyIns = TriggerBodyIns;
 string triggerBodyUpd = TriggerBodyUpd;
 string triggerBodyDel = TriggerBodyDel;

 this.CreateTrigger(SchemaName, tableName, "_INS", TriggerType.Insert, 
 false,triggerBodyIns.Replace("XXXXXX", tableName));

 this.CreateTrigger(SchemaName, tableName, "_UPD", TriggerType.Update, 
 false,triggerBodyUpd.Replace("XXXXXX", tableName));
 this.CreateTrigger(SchemaName, tableName, "_DEL", TriggerType.Delete, false,
 triggerBodyDel.Replace("XXXXXX", tableName));

Я пытаюсь написать следующую инструкцию SQL, но получаю синтаксическую ошибку. Для каждого из 3 упомянутых выше триггеров

this.Sql($"ALTER TRIGGER {SchemaName},{tableName},_INS,{TriggerType.Insert},{false},{triggerBodyIns.Replace(XXXXXX ,{tableName})}");

Есть предложения?

1 Ответ

0 голосов
/ 30 августа 2018

удалось решить

Sql($"ALTER TRIGGER {SchemaName}.[UserAccess__INS] ON {SchemaName}.{tableName} FOR Insert  AS BEGIN SET NOCOUNT ON declare @Now as DateTimeOffset = SYSDATETIMEOFFSET () declare @EntityName as nvarchar = \'{tableName}\' INSERT SynchronisationData (Id, EntityName, EntityKey, UpdateTime, UpdateType, Created, CreatedBy, Modified, ModifiedBy) SELECT NEWID(), \'{tableName}\', Id, Created, 0, @Now,\'InsertTrigger\', @Now,\'InsertTrigger\'FROM inserted END");
Sql($"ALTER TRIGGER {SchemaName}.[UserAccess__UPD] ON {SchemaName}.{tableName} FOR Update  AS BEGIN SET NOCOUNT ON declare @Now as DateTimeOffset = SYSDATETIMEOFFSET () declare @EntityName as nvarchar = \'{tableName}\' INSERT SynchronisationData (Id, EntityName, EntityKey, UpdateTime, UpdateType, Created, CreatedBy, Modified, ModifiedBy) SELECT NEWID(),\'{tableName}\', Id, Modified, 1, @Now,\'UpdateTrigger\', @Now,\'UpdateTrigger\'FROM inserted END");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...