2014-10-23 3 views
2

Я хотел бы запустить некоторый код для каждой вставки, обновления или удаления в Linq To SQL.Linq To SQL Overriding Метод SubmitChanges (VB.NET)

Это лучший способ сделать это, чтобы переопределить метод SubmitChanges()?

Любые примеры кода помогут.

+0

Кто-то объясняет, почему голос? – user3656029

+0

Я не думаю, что переопределение - хороший вариант. Но есть много альтернатив. Какой код понадобится для запуска после действия (чего вы хотите достичь)? – User999999

+0

В основном добавить файл журнала на каждую вставку, обновление или удаление. Какие еще существуют варианты? – user3656029

ответ

3

Уверенный, вы можете. Вы можете использовать GetChangeSet для получения изменений, отслеживаемых данным datacontext.

Public Class MyDataContext 
    Inherits MainDataContext 

    Public Overrides Sub SubmitChanges(failureMode As System.Data.Linq.ConflictMode) 
     Dim changes = GetChangeSet() 
     MyBase.SubmitChanges(failureMode) 
    End Sub 

End Class 
+0

Очевидно, я не думал прямо! Чистое и простое решение: +1 – User999999

+0

Является ли мой код выше или ниже строки 'MyBase.SubmitChanges (failMode)' или это не имеет значения? – user3656029

+0

'GetChangeSet()' должен запускаться раньше. Ваш код может работать после того, как вы не хотите регистрировать что-либо, если, например, произойдет сбой или раньше, если вы это сделаете. – Magnus

Смежные вопросы