Entity Framework 6 Первый триггер кода

c# entity-framework entity-framework-6 sql

Вопрос

Я использую Entity Framework 6 Code First и хотел бы создать Trigger.

Как мне это сделать?

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

Я искал и не могу найти способ.

Есть ли способ указать триггер с использованием кода в первую очередь?

Принятый ответ

Entity Framework не поддерживает триггеры, хотя вы можете вручную выполнить инструкцию, которая создавала бы триггер, но вам нужно будет сделать это после создания таблицы (при использовании миграции).

Вы можете использовать технику, указанную Ladislav в коде EF 4.1, сначала добавив триггер в таблицу

Однако обратите внимание на его предупреждение, однако EF не будет знать никаких изменений, внесенных в триггер. Если ваше намерение состоит в том, чтобы убедиться, что 2 столбца в таблице не являются нулевыми, вам лучше будет работать с ограничением (ограничения также не поддерживаются EF, но вы можете добавить их вручную).


Популярные ответы

Посмотрите мою библиотеку EntityFramework.Triggers . Он работает на уровне структуры Entity Framework, поэтому события триггера не срабатывают, если кто-то напрямую модифицирует базу данных. Ссылка NuGet - https://www.nuget.org/packages/EntityFramework.Triggers/



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему