Автоматическое создание истории в рамках сущности - PullRequest
0 голосов
/ 11 мая 2018

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

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Отказ от ответственности : я владелец проекта Entity Framework Plus

Документация: EF + Audit

Эта библиотека позволяет проверять и сохранять информацию в базе данных с помощью действия AutoSavePreAction.

AuditManager.DefaultConfiguration.AutoSavePreAction = (context, audit) =>
     // ADD "Where(x => x.AuditEntryID == 0)" to allow multiple SaveChanges with same Audit
     (context as EntityContext).AuditEntries.AddRange(audit.Entries);

// using Z.EntityFramework.Plus; // Don't forget to include this.

var ctx = new EntityContext();
// ... ctx changes ...

var audit = new Audit();
audit.CreatedBy = "ZZZ Projects"; // Optional
ctx.SaveChanges(audit);

// Access to all auditing information
var entries = audit.Entries;
foreach(var entry in entries)
{
    foreach(var property in entry.Properties)
    {
    }
}
0 голосов
/ 11 мая 2018

Если я не ошибаюсь, мы можем управлять им с помощью Entity Framework Snapshot History. Нажмите здесь, чтобы посмотреть аналогичный ответ.

...