Добавление триггера базы данных с помощью Entity Framework Code Первые миграции

Я использую Entity Framework Migrations для первого кода для управления моей моделью базы данных. Он работает очаровательно, и я могу справиться до сих пор. Но теперь мне нужно добавить один триггер базы данных, и я бы хотел сделать это с помощью EF Migrations и не использовать отдельный sql script только для этого случая (это было бы непонятно для клиентов, особенно после того, как мы убедили их, что мы можем обрабатывать все с EF Migrations). Мой триггер прямолинейный и выглядит как tis:

CREATE OR REPLACE TRIGGER [name] BEFORE UPDATE ON myTable ...

Есть ли команда добавить триггер в EF Migrations?

Ответ 1

Вы можете просто добавить вызов метода Sql("SQL COMMAND HERE") к вашему методу миграции Up. Не забудьте также добавить оператор drop к методу Down. Вы можете создать пустую миграцию, если вам нужно, просто запустив Add-Migration без каких-либо изменений в модели.

public partial class Example : DbMigration
{
    public override void Up()
    {
        Sql("CREATE OR REPLACE TRIGGER [name] BEFORE UPDATE ON myTable ...");
    }

    public override void Down()
    {
        Sql("DROP TRIGGER [name]");
    }
}