Сначала код EF - триггер SqlServerCE - PullRequest
0 голосов
/ 03 ноября 2011

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

  • Sql Server
  • SqlServerCE
  • SqlExpress

Триггер, сохраненные процессы не поддерживаются в SqlServerCE, что бы вы сделали, чтобы получить это функциональность?

Я мог бы что-нибудь сделать после "SaveChanges" или еще чего-нибудь, что является хорошим способом?

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Да, вы можете сделать что-то внутри SaveChanges (путем переопределения) или после SaveChanges и снова вызвать SaveChanges, чтобы сохранить новые данные, но это не совсем то же самое, что триггер.Просто, если вам нужно использовать триггер для какой-то функциональности, SqlServerCE - не ваш выбор.Если вы переписываете логику триггера для своего приложения, у вас все равно должно быть две версии: одна для большого SQL с использованием триггеров, а другая для SQL CE без триггеров.

0 голосов
/ 03 ноября 2011

Сначала код, хотя он позволяет вам отправлять некоторые необработанные запросы и, следовательно, выполнять собственные операции с базой данных / сервером, в основном предназначен только для построения модели и запросов к этой модели.

Теперь что касаетсяВаш вопрос: вы можете напрямую создавать «альтернативы хранимых процедур», добавляя методы в ваш DbContext (или методы расширения для разделения проблем).

Триггеры немного сложнее.Вы можете переопределить метод SaveChanges, в котором вы можете отслеживать каждое внесенное изменение либо до его сохранения в базе данных, либо после.

Обе проблемы, однако, также могут быть решены путем введения репозитория.См .: http://huyrua.wordpress.com/2011/04/13/entity-framework-4-poco-repository-and-specification-pattern-upgraded-to-ef-4-1 Это позволяет запускать скрипт (триггер) при добавлении, обновлении или удалении определенного объекта

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