Выборочный аудит ведения журнала с помощью метода ObjectContext.SaveChanges в Entity Framework - PullRequest
0 голосов
/ 09 июня 2011

Мне нужно выполнить ведение журнала аудита в моем приложении, и я хочу, чтобы SaveChanges регистрировал любые изменения в базе данных. Есть определенные случаи, когда я не хочу, чтобы регистрация происходила. Что было бы самым элегантным способом сказать SaveChanges не выполнять ведение журнала аудита? Я использую Entity Framework 4.

Ответы [ 2 ]

0 голосов
/ 15 июля 2012

Я выполнил аналогичное требование для ведения журнала.Я храню информацию таблиц в метатаблице, называемом tablemaster, в базе данных и храню много информации, связанной с входом в нее.В одном из полей указывается, регистрировать ли записи для этой таблицы или нет.Я регистрирую журнал аудита, когда сохранение изменений вызывается в контексте, то есть когда я решаю, нужно ли вести регистрацию для этих таблиц или нет.Meta Table tablemaster извлекается из памяти при запуске приложения, поэтому нет необходимости проверять детали в обоих направлениях.Надеюсь, это поможет.

0 голосов
/ 09 июня 2011

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

Я предлагаю вам использовать кэширование, чтобы не проверять каждый раз, должно ли что-то регистрироваться или нет.

...